在减速器或组件中过滤数据?哪个更好?
Filter data in the reducer or in the component? which is better?
我有这个应用程序,我在主页上加载了一个组件,该组件显示来自本地 JSON 文件的电影列表,我将它加载到 App.js
的 App.js
商店中=11=]生命周期。
我还有另一条路线可以显示单部电影的详细信息。
现在我有两个选择,要么我创建一个操作来过滤 reducer 中的 "all movies" 列表,然后将单部电影存储在 reducer 的 "initial state" 中,然后在"SingleMovie" 组件在其 componentDidMount
函数中。
或者我是否过滤组件本身中的所有电影列表并获取单个电影的详细信息?
就性能和最佳实践而言,哪个更好?
Put your logic inside the component or in somewhere outside of the component?
一个好的做法是始终使您的组件尽可能瘦。我的意思是,组件是负责呈现的组件,而不是处理应用程序逻辑的组件。
在你的情况下,你应该坚持选项 1:创建一个操作来过滤缩减器中的 "all movies" 列表并将单部电影存储在 "initial state" 中reducer,然后在其 componentDidMount 函数的 "SingleMovie" 组件中触发该操作。
最好在 reducer 中过滤数据并将其设置为状态,然后在组件中获取特定的过滤数据。
我有这个应用程序,我在主页上加载了一个组件,该组件显示来自本地 JSON 文件的电影列表,我将它加载到 App.js
的 App.js
商店中=11=]生命周期。
我还有另一条路线可以显示单部电影的详细信息。
现在我有两个选择,要么我创建一个操作来过滤 reducer 中的 "all movies" 列表,然后将单部电影存储在 reducer 的 "initial state" 中,然后在"SingleMovie" 组件在其 componentDidMount
函数中。
或者我是否过滤组件本身中的所有电影列表并获取单个电影的详细信息?
就性能和最佳实践而言,哪个更好?
Put your logic inside the component or in somewhere outside of the component?
一个好的做法是始终使您的组件尽可能瘦。我的意思是,组件是负责呈现的组件,而不是处理应用程序逻辑的组件。
在你的情况下,你应该坚持选项 1:创建一个操作来过滤缩减器中的 "all movies" 列表并将单部电影存储在 "initial state" 中reducer,然后在其 componentDidMount 函数的 "SingleMovie" 组件中触发该操作。
最好在 reducer 中过滤数据并将其设置为状态,然后在组件中获取特定的过滤数据。