Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.12.2014, 18:10
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

React: в поисках корня
я хочу заюзать компонент модального окна (jQuery плагин). содержимое компонента (потомки) передаются в модальное окно.

модальное окно (непосредственно HTML элемент) создается средствами jQuery - то бишь в обход виртуального DOM.

ну и React ругается на то, что потомки потеряли корневой элемент:
Код:
Invariant Violation: findComponentRoot(...): Unable to find element. This probably means the DOM was unexpectedly mutated
структура DOM дерева при этом какая-то такая:
<body>

    <div id="REACT ROOT"><!-- корневой элемент приложения --></div>

    <div class="modal"><!-- созданное модальное окно и потомки --></div>

</body>


кто сталкивался? как решать это дело?



... есть мысля: как-то создавать новый корневой элемент внутри модального окна, и там отрисовывать потомков. но вот что-то не могу додумать, как это делается)
Ответить с цитированием
  #2 (permalink)  
Старый 11.12.2014, 20:24
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

UPD: нагуглил. паттерн называется "портал": https://github.com/rpflorence/react-...ibs.md#portals

ну и ещё у потомков должен быть один корень - можно взять <body>
// было
    var mountNode = document.getElementById('content');
// стало
    var mountNode = document.body;

(это то, над чем я тупил)

дэмка: http://jsbin.com/curiko/2

Примесь Portal для портала: GIST

Последний раз редактировалось melky, 21.12.2014 в 11:11.
Ответить с цитированием
  #3 (permalink)  
Старый 11.12.2014, 21:37
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

Похоже тут народ не очень жалует Реакт ;(
Ответить с цитированием
  #4 (permalink)  
Старый 11.12.2014, 21:58
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Safort Посмотреть сообщение
Похоже тут народ не очень жалует Реакт ;(
всему своё время
Ответить с цитированием
  #5 (permalink)  
Старый 12.12.2014, 07:12
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А че за "виртуальный дом"? Можно в двух словах? Это какая-то инновационная нанотехнология?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 12.12.2014, 11:25
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от danik.js Посмотреть сообщение
А че за "виртуальный дом"? Можно в двух словах? Это какая-то инновационная нанотехнология?
это такая штука, которая позволяет писать SPA без мучений с SEO (виртуальное дерево может отображаться на сервере), а так же эта штука позволяет разруливать компоненты с вёрсткой, при этом оставаясь очень быстрой, с помощью частичного обновления: синхронизация с обычным DOM работает в DIFF режиме: например, если мы перерисовываем сраницу, но при этом поменялась только центральная часть (типичный ajax сайт), то в обычном DOM сменится только контент, а меню\шапка отрисовываться не будет. я думаю, плюсы такого частичного обновления очевидны

ну а вообще, лучше изучить это дело самому
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
React и meta tags melky Оффтопик 0 11.11.2014 02:43
Как получить порядковый номер узла дерева относительно корня Shamandrey ExtJS 2 11.11.2013 10:48
В поисках Онлайн консультанта для решения вопросов. платно. wmag Работа 13 18.09.2013 13:30
В поисках напарника фрилансера знающего хорошо яваскрпит. mer1985 Работа 2 10.09.2013 10:44
В поисках скрипта... Упорядочение данных Santiago jQuery 2 20.03.2011 20:48