@unkwua

Reflux: как правильно использовать store?

Есть postsBoardStore
Вот такой jsx:
<Discussion><postsList /><postsBoard /></Discussion>
     <Discussion><postsList /><postsBoard /></Discussion>

Например, внутри компонента postsList я вызываю экшн togglePostsBoard, внутри postsBoard я слушаю изменения в postsBoardStore и как бы всё хорошо, но проблема в том что все postsBoard которые есть на странице слушают postsBoardStore, а мне нужно в данном случае чтобы слушал только один. Как решить подобную проблему? Есть костыльный как по мне приём при вызове экшна передавать discussionId, но для этого в postsBoard нужно также прокидывать id дискуссии и фильтровать при изменении postsBoardStore. Мб в таких случаях вообще store не нужен?
  • Вопрос задан
  • 235 просмотров
Решения вопроса 1
Можно и без stora, но это уже не flux. А в чем у вас проблем при использовании одного хранилища?. Помечайте каждый компонент при его инициализации, каким-нибудь идентификатором. Запоминайте его в самом компоненте и помечайте компонент в Store с тем же ключом, но да при каждом изменении вам придется передавать и этот ключ, чтобы идентифицировать в каком именно компоненте произошло изменение. На самом деле если у компонента узкая специализация и само приложение небольшое, то я бы забил на хранилище и обрабатывал все его изменения внутри компонента. Но тут как говорится выбирайте, к чему у вас душа больше лежит, если будете делать через Store, то у вас будет и flux - архитектура и доступ к состояниям всех компонентов postsBoard, но надо будет по боле написать. Если без Store, то писать меньше и проще.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы