@connecter

Логика при создании модального окна?

Всем привет, подскажите логику, как сделать открытие/закрытие модального окна при:
1. Открывается при клике по кнопке-компоненту (Button) в другом компоненте (Main)
2. Закрывается по клику обычного дива в самом компоненте модального окна (Modal)

Соответственно, есть Main, в нем есть Button и Modal
  • Вопрос задан
  • 296 просмотров
Решения вопроса 2
verkhoturov
@verkhoturov
HTML-Верстальщик / Frontend Developer
В Main добавляете state, например, "показать-модалку" со значением false по умолчанию.
Также в Main делаете фунцию, например, "switchModal" в которой делаете setState({ "показать-модалку": !this.state."показать-модалку"}). На Button вешаете "switchModal" по клику.

Modal показываете в зависимости от state. Типа
{"показать-модалку" && <Modal />}

В сам Modal передаете props с функцией "switchModal".

Внутри Modal делаете функцию
closeModal = () => { this.props.switchModal() }
Вешаете "closeModal" на элемет по клику на который хотите закрывать Modal.
Ответ написан
GreyCrew
@GreyCrew
Full-stack developer
Очень сильно поддерживаю вариант с созданием портала
В остальном аналогично ответу Иван В
Создаем состояние в стейте, либо сторе,
По клику вызываете методы, которые открывают/закрывают портал.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
profesor08
@profesor08
По клику на кнопку установи передай пропс состояния в модалку.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы