Reactjs react redux中的调度

Reactjs react redux中的调度,reactjs,redux,react-redux,Reactjs,Redux,React Redux,我是一个新的反应者,我的问题听起来很基本 派遣意味着什么?我指的是“派遣行动”一词 为什么我们需要mapDispatchToProps在redux上存储操作?我们可以简单地导入一个动作并使用它。我有一个场景,在这个场景中,我必须在安装组件时加载数据 @mariazahid mapDispatchToProps将操作绑定到组件,以便您可以将其传递给演示组件。这是一种通常在使用Redux和React时使用的模式 您可以导入您的操作并仅分派该操作,但在大多数情况下,都使用容器->组件模式。容器是动作映

我是一个新的反应者,我的问题听起来很基本

  • 派遣意味着什么?我指的是“派遣行动”一词
  • 为什么我们需要mapDispatchToProps在redux上存储操作?我们可以简单地导入一个动作并使用它。我有一个场景,在这个场景中,我必须在安装组件时加载数据
    @mariazahid mapDispatchToProps将操作绑定到组件,以便您可以将其传递给演示组件。这是一种通常在使用Redux和React时使用的模式

    您可以导入您的操作并仅分派该操作,但在大多数情况下,都使用容器->组件模式。容器是动作映射到的位置和状态,该组件的唯一目标是将该数据传递给用于表示该数据的组件


    在团队中工作时,这是一种易于采用的模式。与从左到右和从中间导入操作不同,您只需了解容器以及它如何将所需的操作/数据向下传递给子容器。

    从实现的角度来看,
    dispatch
    只是一种用于与还原器通信的方法

    假设你的行为是这样的

    function myAction() {
      return { type: 'MY_ACTION' }; 
    }
    
    您正在尝试与响应动作类型“MY_action”的减速器通信

    mapDispatchToProps
    中,您通常会这样做

    function mapDispatchToProps(dispatch) {
      return { actions: bindActionCreators(myActions, dispatch) }
    }
    
    实际上,您正在将您的操作包装(绑定)到分派方法

    function bindActionCreators(actions, dispatch) {
      // this is a very trivial implementation of what bindActionCreators does
    
      let wrappedActions = {};
      Object.keys(actions).forEach(action => 
        // for every action, return a function that calls dispatch on the result of what your action returns
        return function(...args) {
          // remember here that dispatch is the only way you can communicate with the reducers and you're action's type will determine which reducer responds to return the new state
          return dispatch(actions[action](..args));
        }
      );
    }
    

    因此,这些“绑定”动作现在分配给组件中的
    props.actions

    您可以阅读此答案
    dispatch
    dispatch一个动作。这是触发状态更改的唯一方法。@ShubhamKhatri它仍然不能回答我的问题。您的第二个问题与第一个问题关联。您需要调度,因为这是触发状态更改的唯一方法,而mapDispatchToProps不是必需的。您可以在导入操作后调度该操作,如链接中的答案所示。另外,请阅读文件,解释得很清楚,问题太广泛了。您可能想先完成阅读: