【发布时间】:2019-05-05 16:34:21
【问题描述】:
我通过使用 redux thunk 来实现,如果安装了一个组件,则通过调用 API 来填充存储。
请求的数据比我在特定组件中需要的字段多得多。所以你能否给我一个提示,最好的做法是只获取部分数据。因为也存储数据的简化版本(一种重复)不是一个好习惯,不是吗?
【问题讨论】:
标签: reactjs redux react-redux
我通过使用 redux thunk 来实现,如果安装了一个组件,则通过调用 API 来填充存储。
请求的数据比我在特定组件中需要的字段多得多。所以你能否给我一个提示,最好的做法是只获取部分数据。因为也存储数据的简化版本(一种重复)不是一个好习惯,不是吗?
【问题讨论】:
标签: reactjs redux react-redux
你可以使用上面提到的选择器或类似的东西:
const mapStateToProps = state => {
relevantPartOfTheState: fetchSliceOfReducer(state)
}
fetchSliceOfReducer(state) 可以是 reducer 文件中的一个函数,您只需要获取部分状态。显然,您必须在组件文件中导入该功能,并且可以将其重用于其他组件。所以如果你的状态是这样的
state = {
value: true,
name:"Michael"
}
你的函数是const fetchSliceOfReducer = state => state.value
选择器更适合不断增长的应用程序,因为上面的示例非常适合较小的应用程序
【讨论】:
你可以解构数据。
例如,当您将组件连接到 redux 状态时。
const mapStateToProps = state => {
relevantPartOfTheState: state.some.part.of.the.state
}
这基本上就是选择器的作用。
请求的数据比我在特定组件中需要的字段多得多
您不需要全部保存。你可以有这样的东西。
switch (action.type) {
case RECEIVE_USELESS_DATA:
return action.payload.onlyRelevantData
}
【讨论】:
如果我对问题的理解正确,您可以使用selectors
【讨论】: