Реагируйте и загрузите Javascript - PullRequest
0 голосов
/ 15 ноября 2018

Я использую ReactJS, и не рекомендуется использовать JQuery (или vanilla JS) для манипулирования фактическим DOM, потому что он может иметь непредсказуемые результаты из-за ReactJS, использующего виртуальный DOM.

Итак, если я включу чистый Bootstrap в свой проект, может ли он иметь такой же отрицательный эффект? Если это так, то использование реакционного ремня или реактивного бутстрапа решит эту проблему, или эти библиотеки также используют загрузочный JavaScript под капотом?

Спасибо, Michel

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Ключевым моментом Избегать является манипулирование DOM для объектов (или HTML-элементов DOM), которые были созданы с помощью реакции, и состояния которых отслеживаются по реакции.Кроме того, вы можете использовать столько jquery или vanilla javascript, сколько захотите для манипуляций с DOM.Это происходит потому, что объекты, отображаемые с помощью реакции js, как правило, работают с состоянием объекта, и попытка заставить вещи работать как переключения классов может привести к конфликтам, если состояние элемента, которое запоминает реагирующий, было изменено с помощью javascript или jQuery.

Например: это означает, что вы можете использовать реагирование для рендеринга вкладок начальной загрузки, использующих загрузочный javascript и jquery. Затем вы можете активировать вкладки после того, как реагирует их рендеринг с помощью jquery.Вам придется ограничить свою реакцию только функцией рендеринга и избегать setState или update.

с использованием setState или render после того, как следует избегать первоначального рендеринга, если jquery используется для переключенияклассы, и реагируют на попытки сделать то же самое позже, столкновения произойдут.

Таким образом, вы можете использовать в своих проектах и ​​responsejs, и JQuery, но для манипуляций после рендеринга придерживаться одного (чистого реагирования или чистого jquery)

0 голосов
/ 15 ноября 2018

Да, это может вызвать конфликт с React, но это очень сильно зависит от того, что вы хотите использовать в Bootstrap? если вы просто хотите использовать стиль, то это не вызовет проблем.

Функции начальной загрузки JS, такие как показ и скрытие div-ов (например, Accordion), могут вызвать проблемы, если React ожидает, что div будет находиться в определенном состоянии на рендере.

Но у меня есть хобби-проекты, в которых прекрасно работают React и jQuery, если я не прошу перекрывать каждую из библиотек. После того как я создал приложение, я пытаюсь удалить из него jQuery и переместить функцию в React с целью полного удаления jQuery.

Если вы хотите расширить свой ответ, чтобы привести пример того, над чем вы работаете, тогда я с удовольствием добавлю к своему ответу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...