2016-06-14 1 views
1

является ухудшающимся, если мы используем jquery with reactjs?выполняет ухудшение, если мы используем jquery with reactjs.

потому что jquery напрямую меняет элементы DOM, где, как реагирует, работает с Virtual DOM.

Есть ли какой-либо пример реакции с jquery?

+2

Возможный дубликат [Отличается ли реакция.js с компонентами jQuery/UI] (http://stackoverflow.com/questions/21030023/does-react-js-play-nice-with-jquery-ui-components) – Kujira

ответ

0

является нарушением работы, если мы используем jquery with reactjs?

Не обязательно.

потому что jquery напрямую меняет элементы DOM, где, как реагирует, работает с Virtual DOM.

Вы правы, что jQuery не использует виртуальную DOM React. Помимо переписывания основных частей jQuery для его использования, vanilla jQuery не будет. Компонент упаковки, который участвует в виртуальной DOM React, может его исправлять.

Выполнение этого полностью зависит от вашего использования. Имейте в виду, что React все еще манипулирует DOM в конце виртуальной работы DOM.

Вы можете найти самый современный, официальный пример на странице официальных объявлений React, но это, по общему признанию, освещает детали.

Есть ли какой-либо пример реакции с jquery?

Если вы проверить это unit of react-training on wrapping DOM[-manipulating] libraries вы можете найти красивый, исчерпывающий пример использования ReactJS как с JQuery и JQuery UI.

Использования result этой статьи в качестве базовой линии, вы будете использовать JQuery во время РЕАКТА initial mount time минимально, чтобы сделать DOM работу и обеспечить имена классов для укладки по мере необходимости, и РЕАКТА pre-render props changing lifecycle event повторной визуализации изменений через React , Очевидно, что вы можете использовать другие события, такие как shouldComponentUpdate или ручные выдержки, а также, как того требуют ваши потребности.

Ваше выступление будет в значительной степени связано с тем, что вы делаете на этом этапе повторного рендеринга.

Вот несколько советов, которые могут помочь предотвратить некоторые общих вампиров производительности:

  • Убедитесь, что вы кэшировать селекторы и функцию везде, где это возможно
  • Обеспечения идентичность коллекции пользователя правильно сконструирована таким образом, что они не в результате в постоянных ошибках кэша и, таким образом, постоянных повторных рендерах
    • Особенно, если вы используете однонаправленные потоки данных или неизменяемые хранилища данных.
    • Некоторые операции отображения всегда возвращают новые объекты и поэтому требуют дополнительной заботы или другого вызова api.

Помимо этого, имея в виду как Реагировать лучшие практики и JQuery лучшие практики отвезет вас долгий путь.

В конце дня это всего лишь JavaScript. Реагент пытается избежать ненужного тяжелого реального создания/манипуляции объектов DOM, где jQuery позволяет неправильно использовать его, но по своей природе нет ничего, чтобы предотвратить создание исполняемого приложения jQuery.

Смежные вопросы