У меня есть один список предметов, и у меня есть div
для отображения деталей элемента. Например,Поддержание сфокусированного объекта в списке под React + Flux architecture
--------------------------------------------
| Items List | Selected Item Detail |
--------------------------------------------
| Item A | Item C is selected |
| Item B | Item C is a cool |
| Item C* | |
| Item D | |
--------------------------------------------
И мои компоненты:
- AppContainer
- Item List
- Item
- Selected Item Detail
AppContainer имеет следующие статы
allItems
selectedItemId
Вот мой вопрос: правильная реализация?
- Должен ли я поддерживать
selectedItemId
(целое число) в AppContainer, и найти соответствующий пункт, ИО при прохождении выбранного элемента выбранного элемента Деталь? - Или я должен сохранить
selectedItem
(объект) как состояние и передать его в Выбранный элемент Деталь напрямую? - Должен ли я хранить
selectedItem
илиselectedItemId
в магазине Flux? (учитывая, что я сохраняюallItems
в магазине после использования Flux в своей заявке.)
Спасибо.
Спасибо, что ответили. Во втором вопросе моя точка зрения заключается в том, что «если я сохраню идентификатор, то должен ли я сохранить его в магазине или в собственном состоянии компонента?». – lazywei
Похоже, что использование состояния компонента обычно обескураживается при использовании потока, но есть некоторые исключения, такие как входы форм, где имеет смысл удерживать его в привязке к компоненту. Это в основном вопрос о том, представляет ли он «состояние приложения», то есть это бит состояния, потенциально относящийся к другим компонентам, кроме того, где он возникает? В этом случае это так, поскольку вы выбираете ID в Item или ItemList, но он используется SelectedItemDetail, поэтому я бы сохранил его в магазине. –