0

我有这个应用程序,其中主页加载了一个组件,该组件显示来自本地 JSON 文件的电影列表,我在App.js生命周期中将其加载到商店中componentDidMount

我还有另一条路线可以显示单部电影的详细信息。

现在我有两个选择,要么我创建一个动作来过滤reducer中的“所有电影”列表并将单个电影存储在reducer的“初始状态”中,然后在其componentDidMount函数中的“SingleMovie”组件中触发该动作.

或者我是否过滤组件本身中的所有电影列表并获取单个电影详细信息?

在性能和最佳实践方面哪个更好?

4

2 回答 2

2

将您的逻辑放在组件内部还是组件外部的某个地方?

一个好的做法是始终使您的组件尽可能瘦。我的意思是,组件是负责演示的组件,而不是处理应用程序逻辑的组件。

在您的情况下,您应该坚持使用选项 1:创建一个动作,在减速器中过滤“所有电影”列表,并将单个电影以“初始状态”存储在减速器中,然后在“SingleMovie”中触发该动作组件在其 componentDidMount 函数中。

于 2018-10-05T14:46:41.380 回答
1

在 reducer 中过滤数据并将其设置为状态并在组件中获取特定的过滤数据总是更好。

于 2018-10-05T14:51:42.667 回答