我应该将所有组件状态放在商店中吗?
Should I put all components state in the Store?
假设我有一个带有一些输入的 SearchBar 组件,我应该将 SearchBar 的输入状态放在 Store 中吗?如果不是,我应该把什么样的状态放到Store里,什么不属于Store?
是的。您当然希望跟踪输入状态。它是在组件状态还是在商店中由您决定。我的做法是使我所有的组件 "dumb" 并在商店中保存所有状态。原因如下:
有了搜索栏之类的东西,很容易想象您想在其他地方显示该信息。例如,假设用户搜索 "kittens"。您可能在页面中有一个单独的组件,上面写着:
Showing results 1 to 10 for "kittens"
因此,您不希望您的搜索查询状态隐藏在其他组件无法访问的搜索栏组件中。
假设我有一个带有一些输入的 SearchBar 组件,我应该将 SearchBar 的输入状态放在 Store 中吗?如果不是,我应该把什么样的状态放到Store里,什么不属于Store?
是的。您当然希望跟踪输入状态。它是在组件状态还是在商店中由您决定。我的做法是使我所有的组件 "dumb" 并在商店中保存所有状态。原因如下:
有了搜索栏之类的东西,很容易想象您想在其他地方显示该信息。例如,假设用户搜索 "kittens"。您可能在页面中有一个单独的组件,上面写着:
Showing results 1 to 10 for "kittens"
因此,您不希望您的搜索查询状态隐藏在其他组件无法访问的搜索栏组件中。