1

在 redux 中,当我们需要访问与 componentProps 不直接相关但由该组件触发的 state 属性(即:存储在 state 中的祖父组件 id)时,我们是否应该尝试传递这部分 state来自触发事件的组件的操作创建者,即:

onClick={() => doSomething(grandParentId)}

----

function doSomething(grandParentId) {
  console.log(grandParentId)
}

还是我们应该使用 redux-thunk 从 getState 获取数据?

onClick={doSomething}

----

function doSomething() {
  return (dispatch, getState) => {
    console.log(getState().grandParentId)
  }
}

我知道答案听起来第一种方法更合适,但我不知何故觉得 getState 和 redux-thunk 会导致不良做法,我想知道什么时候应该使用它。

4

2 回答 2

2

如果您的组件中已经有该信息,我不明白为什么不将其传递给您的动作创建者。在我看来,数据流更容易遵循这种方式。

getState()只有当我需要访问我无法通过动作创建器传递的状态树的一部分时,我才会利用它。

于 2016-01-23T03:56:56.663 回答
1

如果数据已经处于 redux 状态,那么我将使用getState. 传递的参数更少,使得 IMO 变得更简单。

于 2016-01-24T02:25:28.553 回答