с кнопками фильтрами и тд.. На этой панели есть кнопка "Create Item" , по нажатию на эту кнопку должна появлятся модалка , открыта модалка или нет зависит от состояния стейта const [modalOpen, setModalOpen] = useState(false); , этот useState лежит в компоненте ActionsItemsPanel , кто может подсказать как сделать открытие этой модалки без перересовки компонента ActionsItemsPanel , так как сама модалка не лежит в этом компоненте ? Стоит ли перенести const [modalOpen, setModalOpen] = useState(false) и если да то куда ?
Вот код компонента :
поднять стейт выше (lifting state up)
Никак, у тебя сетСтейт должен сработать
окей , тогда стейт будет у компонента выше и уже этот компонент будет ре-рендерится
я как-то где то видел такое , и почти уверен что есть решение , просто я его забыл)
Легко, создай ивент емитер, в компоненте с модалкой подпишись на события, и в любом месте емить событие для открытие окна, только компонент с модалкой будет перерисовываться
Евент имитер в реакт? Что это я только в ноде с ним работал
Это патерн его можно использовать везде, реакт всего лишь шаблонизатор
Можно ссылку ?
https://refactoring.guru/ru/design-patterns/observer
Не хочешь свой писать, используй на window с кастомными событиями
Обсуждают сегодня