调度到正确的减速机

Baz*_*Baz 5 javascript reactjs redux

我正在学习 todo redux 教程。由于这个示例结合了减速器,因此我对如何将调度发送到正确的减速器感到迷失。redux如何知道将返回值发送setVisibilityFiltervisibilityFilterreducer?

http://redux.js.org/docs/basics/Reducers.html

export const setVisibilityFilter = (filter) => {
  return {
    type: 'SET_VISIBILITY_FILTER',
    filter
  }
}

const mapDispatchToProps = (dispatch, ownProps) => {
  return {
    onClick: () => {
      dispatch(setVisibilityFilter(ownProps.filter))
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

也许它被设计发送到所有减速器。

ris*_*hat 6

不存在调度到某个减速器这样的事情。每次您分派一个操作时,所有减速器函数都会被执行。确保执行正确的代码片段的唯一方法是确保操作类型的名称是唯一的,并且准确地出现在所有减速器中。

这就是为什么最新的时尚是 Redux 模块,您可以使用由模块名称和操作类型名称组成的长字符串来命名每个操作类型。例如,看看鸭子。