Зачем ставить синхронное состояние в хранилище резервов? - PullRequest
0 голосов
/ 22 сентября 2018

Какой смысл помещать не асинхронное состояние в хранилище с избыточностью?Например, у вас есть модальное шоу или шоу, вы хотите написать так много, чтобы просто переключаться?Что плохого в том, чтобы просто поместить его как локальное состояние в компоненте реакции и использовать setState для его обновления?

Мое эмпирическое правило принятия решения о том, какое состояние должно проходить через избыточность, заключается в том, что данные являются асинхронными, в противном случае в хранилище будет так много состояний пользовательского интерфейса, и однажды они станут такими большими, что вы думаете?

Ответы [ 3 ]

0 голосов
/ 22 сентября 2018

Я процитирую «практические правила для того, когда помещать данные в Redux» из записи FAQ Redux о состоянии Redux против состояния компонента :

Некоторые общие правиладля определения того, какие данные следует помещать в Redux:

  • Заботятся ли другие части приложения об этих данных?
  • Нужно ли вам создавать дополнительные производныеданные, основанные на этих исходных данных?
  • Используются ли одни и те же данные для управления несколькими компонентами?
  • Есть ли ценность для вас в том, что вы можете восстановить это состояние до определенного момента времени (т.е., отладка во времени)?
  • Хотите ли вы кэшировать данные (т. е. использовать то, что находится в состоянии, если оно уже есть, вместо повторного запроса)?

Вполне допустимо сохранять состояние пользовательского интерфейса в Redux.Фактически, Я написал целый пост в блоге, демонстрирующий способы хранения состояния пользовательского интерфейса, такие как модалы и тосты в Redux .

0 голосов
/ 22 сентября 2018

Некоторые компоненты хотят иметь доступ к одним и тем же данным.Эти данные могут быть синхронными или асинхронными, что на самом деле не имеет значения.Следующее изображение будет описывать это более четко:

enter image description here ( источник: https://www.foreach.be)

Когда компоненты находятся относительно далеко друг от друга, например, левая и правая ветвииз компонентов на рисунке они могут использовать хранилище для общего доступа, поэтому хранилище с избыточностью не только предоставляет метод для работы с асинхронными данными, но также очень удобно для удобной передачи данных каждому компоненту в приложении реагирования.Расположение компонента вы можете дать ему доступ к магазину.

0 голосов
/ 22 сентября 2018

Нет ничего плохого в использовании состояния локального компонента и состояния избыточности в одном приложении.Обратите внимание, что setState() все еще асинхронный.

...