При избыточном реагировании, какие свойства состояния являются локальными и какие свойства состояния должны быть связаны для хранения?

Я новичок в редукс-реакции. Я хочу знать, какие свойства должны быть объявлены внутри компонентов, а какие свойства должны быть объявлены в редукторах. Надеюсь, я прав, что connect используется для сопоставления свойств, объявленных в редукторах, чтобы изменение состояния перенаправлялось через хранилище.

2 ответа

Иногда вполне нормально использовать локальное состояние внутри вашего компонента без использования приставки. В настоящее время рекомендуется использовать локальное состояние для обработки состояния вашего пользовательского интерфейса (UI), а не данных. Например, использование контролируемого компонента для заполнения формы является совершенно допустимым использованием локального состояния.

Если значение, которое вы используете, относится только к текущему компоненту и не используется другим компонентом или не используется другими компонентами и не используется остальной частью навигации / потока, тогда нормально удерживать ваше состояние локально.

Что ж, если вы используете в своем приложении redux, я рекомендую сохранить все в магазине redux. Все состояние всех компонентов в магазине избыточно. (Это мое мнение)

Ваши компоненты теперь будут в основном компонентами без сохранения состояния.

Но есть несколько вещей, которые не нужно сохранять в магазине (и опять-таки это зависит от вас), например, если у вас есть аккордеон, и состояние аккордеона не нужно сохранять для хранения. Это может просто оставаться в состоянии.

Если у вас есть ниже компоненты в вашем приложении,

  • Список Todo - компонент, который внутренне содержит элементы Todo
  • Компонент Todo - содержит кнопку удаления, кнопку редактирования, значок дополнительной информации
  • Компонент Moredetails - который снова содержит кнопку редактирования, удаления.

Теперь, если вы находитесь в компоненте Moredetails и не используете какой-либо магазин редуксов, нажимая на кнопку edit, вы должны поднять состояние до списка Todo. (Это будет своего рода обратным вызовом к вашим изменениям). Если вы используете избыточное хранилище, поскольку у вас есть все данные в одном хранилище, вы можете просто отправить действие и обновить список Todo (клонировать список с обновлениями).

Здесь, поскольку состояние разделяется между компонентами, использование избыточности упрощает жизнь.

Однако, как упоминалось выше, существуют сценарии, в которых состояние не нужно хранить в хранилище с избыточностью.

Вы даже можете проверить эту ссылку, которая имеет довольно хорошую информацию.

Другие вопросы по тегам