使用Redux仅在React组件中获取部分存储/状态的最佳实践

时间:2018-12-04 09:35:59

标签: reactjs redux react-redux

我通过使用redux thunk来实现,如果安装了一个组件,则通过调用API来填充商店。

所请求的数据比我在particalur组件中所需的字段多得多。因此,请您给我一个提示,最好的做法是仅获取部分数据。因为还存储缩小版本的数据(有点重复)不是一个好习惯,对吗?

3 个答案:

答案 0 :(得分:0)

如果我对问题的理解正确,则可以使用selectors

答案 1 :(得分:0)

您可以解构数据。

例如,当您将组件连接到redux状态时。

const mapStateToProps = state => {
    relevantPartOfTheState: state.some.part.of.the.state
}

这本质上就是选择器的作用。

  

所请求的数据字段比我在particalur组件中所需的字段多得多

不需要全部保存。你可以有这样的东西。

switch (action.type) {
    case RECEIVE_USELESS_DATA:
        return action.payload.onlyRelevantData
}

答案 2 :(得分:0)

您可以使用上面提到的选择器,也可以使用类似的东西:

const mapStateToProps = state => {
    relevantPartOfTheState: fetchSliceOfReducer(state)
}

fetchSliceOfReducer(state)可以是来自reducer文件内部的函数,您只可以使用其中的一部分状态。显然,您必须将功能导入组件文件中,并且可以将其重用于其他组件。所以如果你的状态是这样的

state = {
 value: true,
 name:"Michael"
}

您的函数将为const fetchSliceOfReducer = state => state.value 选择器将更适合成长中的应用程序,因为上面的示例对于较小的应用程序来说很好,而且整洁