Задать вопрос
Kentavr16
@Kentavr16
long cold winter

Как вызвать ререндер несвязанного компонента?

Доброго времени суток. Вот схема моего пет-приложения:

63a96d287a4f7406870820.png

Собственно проблему попытался отобразить на схеме. Есть два несвязанных компонента. Само приложение маленькое, организовывать хранение стейта с помощью условного redux не вижу смысла. Проблема в том, что нужно запустить ререндер компонента Б, когда я создаю новую задачу в компоненте А. Пока додумался только до создания в родительском компоненте App стейта, который изменяю при успешном создании новой записи компонентом А, и передаю в компонент Б для его ререндера. Это не похоже на лучшую практику. Возможно есть предложения по реорганизации приложения? Или способ оптимальнее запустить ререндер компонента б?
  • Вопрос задан
  • 67 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Frontend-разработка на React
    10 недель
    Далее
  • ProductStar
    Разработка на React
    6 недель
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
Решения вопроса 2
Alexandroppolus
@Alexandroppolus
кодир
Само приложение маленькое, организовывать хранение стейта с помощью условного redux не вижу смысла

ну тогда просто храни в контексте
Ответ написан
Комментировать
Kwinston
@Kwinston
Fullstack Web3 Developer
Ререндер компоненты происходит в трех случаях:
1) Изменения props
2) Изменения state
3) Вызов метода forceUpdate (доступно только в классовых компонентах)

Твое решение вполне адекватно:
В родительской компоненте A и B компонент сделать состояние data с задачами и создать функцию к примеру fetchData в которой при вызове получать задачи с сервера. Вызывать fetchData в useEffect для первичной загрузки данных, затем прокидывать data в компоненту B для отображения данных. В компоненту A же прокинуть функцию fetchData и вызывать ее в случае успешного создания новой задачи для обновления данных
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Екатеринбург
от 50 000 до 90 000 ₽
от 250 000 до 300 000 ₽