Какой подход правильнее в написании модального окна?
Создать 1 reducer, который будет хранить состояние модального окна (открыт/закрыт), и сделать его переиспользуемым на всё приложение. Прочие обработчики для кнопок пробрасывать через props (если конечно они понадобятся).
Или правильнее будет для каждого модального окна создавать свой reducer + компонент? Например: ModalProduct, ModalFilter и т п.
Я думаю, наверное, лучше взять 2-ой способ, если вдруг на 1 странице будут 2 модалки, то они откроются все вместе. Подскажите решения на вашем опыте.
p.s проект довольно большой: лендинг, кабинет, админка.
Я попробовал, и столкнулся с такой проблемой, как пробрасывать в пропс функцию открытия/закрытия модального окна в разных местах. Это не очень удобно. Мне приходятся хранить состояние на верхнем уровне с обработчиками и получается что то вроде props drilling
vladislav3101, спорить не стану, но считаю такой подход ошибочным. Для открытия/закрытия модалки достаточно передавать в пропсах булево значение (isVisible например). Функцию можно передавать в качестве колбека (типа onVisible, onHidden и т.п.).