【问题标题】:Best practice for only getting parts of the store/state in React component using redux使用 redux 仅在 React 组件中获取部分存储/状态的最佳实践
【发布时间】:2019-05-05 16:34:21
【问题描述】:

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

请求的数据比我在特定组件中需要的字段多得多。所以你能否给我一个提示,最好的做法是只获取部分数据。因为也存储数据的简化版本(一种重复)不是一个好习惯,不是吗?

【问题讨论】:

    标签: reactjs redux react-redux


    【解决方案1】:

    你可以使用上面提到的选择器或类似的东西:

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

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

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

    你的函数是const fetchSliceOfReducer = state => state.value 选择器更适合不断增长的应用程序,因为上面的示例非常适合较小的应用程序

    【讨论】:

      【解决方案2】:

      你可以解构数据。

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

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

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

      请求的数据比我在特定组件中需要的字段多得多

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-09-09
          • 2016-06-05
          • 2014-02-20
          • 2014-06-13
          • 1970-01-01
          • 1970-01-01
          • 2021-10-28
          相关资源
          最近更新 更多