Условия обработки персональных данных

Сайт использует технические и персональные данные пользователей для получения маркетинговой и статистической информации. Условия обработки персональных данных посетителей можно ознакомиться по ссылке.

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

X

Как запустить (показать) модальное окно для React Bootstrap

React Bootstrap — это чистая реализация популярного CSS-фреймворка Bootstrap на React. Библиотека response-bootstrap не использует jQuery под капотом, поскольку прямое управление DOM считается антипаттерном в экосистеме React. Следовательно, методы jQuery для запуска или закрытия модального окна работать не будут. Поскольку React Bootstrap Modal является компонентом React, у вас есть возможность управлять поведением компонента с помощью состояния или хуков.

В этом руководстве вы узнаете, как программно запустить React Bootstrap Modal, используя состояние.


Настройка модального компонента

Первый шаг — импортировать Modalкомпонент из react-bootstrap библиотеки. Наряду с этим импортируйте Button компонент, который будет запускать модальное окно при щелчке

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

Добавляем состояние и методы
Затем определяем состояние и методы закрытия и открытия модального окна.

Добавьте кнопку внутри render блока для запуска модального окна .

Когда кнопка нажата, isOpen состояние будет установлено на true. Теперь, чтобы отобразить модальное окно, все, что вам нужно сделать, это передать isOpenзначение состояния в show компоненты.

Если вы проверите результат на этом этапе, вы заметите, что модальное окно открывается нормально, но нет возможности его закрыть. Итак, установите isOpen состояние false, когда пользователь нажимает кнопку « Закрыть» внутри модального окна. Также есть onHide свойство компонента, которое закрывает модальное окно, когда пользователь нажимает на оверлей или Esc кнопку.

Теперь вы можете закрыть модальное окно. Довольно просто, правда?

Заключительный компонент
Взгляните на последний компонент ниже.

Используйте хук useState
Вы также можете активировать модальное окно в функциональном компоненте с помощью useStateловушки.

Состояние и методы можно объявить следующим образом. Остальное такое же, как у компонента класса, но вместо этого this.state.isOpen передайте showModal переменную состояния в show в вызов компонента

Ознакомьтесь с полным кодом ниже.

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

оригинал статьи на английском
https://www.pluralsight.com/guides/how-to-trigger-modal-for-react-bootstrap

Комментирование закрыто