Как использовать Multi-Level-Sidebar-Menu-H C -MobileNav в React? - PullRequest
0 голосов
/ 25 марта 2020

Привет, я хочу реализовать (https://www.jqueryscript.net/menu/Multi-Level-Sidebar-Menu-HC-MobileNav.html) jQuery скрипт для navbar в моем приложении реагирования, но когда я ищу, как внедрить jquery плагины в приложении реагирования, решения просто сбивают с толку кто-нибудь может подскажите пожалуйста как это просто реализовать ??

1 Ответ

1 голос
/ 25 марта 2020

Я сомневаюсь, что вы когда-нибудь получите React и этот jQuery плагин, чтобы хорошо играть вместе. Можно запускать плагины jQuery внутри приложений React, но решения (как вы заметили) обычно не просты. Обычно это означает, что React игнорирует раздел страницы, которым управляет плагин jQuery (в данном случае боковое меню).

Основная причина этого заключается в том, что React работает, управляя DOM для вы. Когда состояние и реквизиты меняются, React пересчитывает, какими должны быть элементы DOM, а затем модифицирует дерево DOM для соответствия. Это противоположно модели jQuery, которая позволяет напрямую манипулировать DOM. Когда DOM модифицируется извне React (например, с помощью плагина jQuery), это приводит к тому, что React теряет отслеживание состояния DOM и обычно вызывает React, выдающую ошибку («Инвариантное нарушение») и завершающую работу. По сути, нельзя, чтобы React и jQuery вносили изменения в одну и ту же часть страницы - они будут конфликтовать друг с другом.

Наилучший способ действий - это, вероятно, найти компонент меню написано чисто в React и отказаться от плагина jQuery. Здесь есть список разумных вариантов: https://reactjsexample.com/tag/menu/

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