Могу ли я перенести свои проекты jQuery на ReactJS?

Я изучаю ReactJS, я знаю, что реакция заключается в том, чтобы объявить, как что-то должно отображаться, предоставить ему некоторые данные и poof, когда данные изменяются, он отображает эти изменения. Но если я хочу манипулировать DOM, например, изменить цвет, создать аккордеон, сделать анимацию, добавить и удалить класс и т. д. React может это сделать? Могу ли я без проблем перенести свои проекты jQuery в Reactjs?

Это потребует некоторых навыков и опыта, но да, по большей части

CertainPerformance 22.12.2020 02:43

Короткий ответ: да. Длинный ответ - это сложно. React может сосуществовать с другими библиотеками. Но прямое манипулирование DOM не является хорошей практикой в ​​React. Итак, по нажатию кнопки вы обработаете событие и измените состояние. Затем реагируйте на повторную визуализацию и в зависимости от состояния вы добавляете className.

Ramesh 22.12.2020 02:44

Что сработало для меня, так это то, что забудьте все, что вы знаете о jQuery, и начните с нулевого знания и посмотрите, как реагирует реакция, которая ожидает от вас работы. Как только вы получите четкое представление, вы можете начать сравнивать и противопоставлять шаблоны/практики jquery.

Ramesh 22.12.2020 02:46

Да, вы можете, но для простых решений вы можете придерживаться jQuery.

sonali 22.12.2020 02:46

jQuery сейчас отмирает по определенной причине — многого можно добиться с помощью чистого JavaScript. Если вас интересуют интерактивные компоненты и тому подобное, ознакомьтесь с Material UI. MUI имеет МНОЖЕСТВО вариантов настройки.

Tony Drummond 22.12.2020 02:46

Это не совсем подходящий вопрос для этого сайта, так как нет абсолютного ответа, а есть только мнения. Но раз вы спросили, мой ответ будет утвердительным. Одной из многих прелестей Javascript является его хаотичный характер, ни один фреймворк/библиотека не может полностью доминировать в Интернете, вы все равно можете написать полнофункциональное приложение, используя нативный js. Так может ли одна вещь заменить другую и сделать все, что могут другие? Конечно, но все зависит только от личных предпочтений и производительности. Вам нравится виртуальный дом? Реагировать. Вам нравится манипулировать домом напрямую? jQuery.

kennysliding 22.12.2020 02:46

Ммм, я понял, значит, смешивать обе библиотеки в одном проекте - плохая практика?

carlos m 22.12.2020 03:04

Та же страница — это нормально, но в компоненте реагирования это не рекомендуется и может привести к тонким проблемам.

Ramesh 22.12.2020 05:27
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
8
192
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Есть много подходов к этой задаче, полный список здесь, в официальной документации. Либо используйте React в качестве оболочки поверх вашего приложения jQuery, либо переведите свое приложение jQuery в приложение React. Из официальных документов

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

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

Самый простой способ избежать конфликтов — запретить обновление компонента React. Вы можете сделать это, визуализируя элементы, которые React не имеет смысла обновлять, например пустой файл .

Вот средняя статья, которая может вам помочь.

Как моя команда преобразовала-наш-веб-сайт с jquery на реагирование за небольшие шаги

Другие вопросы по теме