【问题标题】:How can I access a portion of the state in a reducer如何访问减速器中的部分状态
【发布时间】:2019-04-11 21:22:52
【问题描述】:

在我的例子中,我有一个 reducer,它是一个过滤器配置,而不是用一个对象来初始化它

initial_state = {ditance: 2, showMan: false ...} 

我希望这些值从商店中获取,因为用户已经登录并且这些值已经在 firebase firestore 的 bbdd 中,

我正在使用库 react-redux-firestore 并且该信息已经在另一个减速器中。问题是,如果我在终止应用程序时使用静态 initial_state,它将不再与数据库中的内容同步。

所以我要问的是,是否有任何方法能够将一个状态的一部分用于另一个 reduce 以生成新状态。我看到你可以发送一个动作或类似的东西,但如果可能的话,我正在寻找另一种方法。

【问题讨论】:

    标签: reactjs redux state reducers


    【解决方案1】:

    如果数据在另一个reducer中,你可以在调用时获取值并通过action传递。

    但如果它在同一个reducer中,你实际上传递了两个参数

    const reducer = (state = initial_state, action) = > {
        switch (action.type){
            case actionType.TOGGLE_SHOWMAN:
                return { ...state, showMan: ! state.showMan };
            default:
                return state;
        }
    }
    

    因此您可以通过在 reducer 中调用 state 来访问之前的状态

    【讨论】:

      猜你喜欢
      • 2017-07-03
      • 2019-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-19
      • 2018-08-08
      • 2016-11-24
      • 2017-08-21
      相关资源
      最近更新 更多