Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 来自具有有效负载的子级的调度操作(REACT)_Javascript_Reactjs_React Native_Redux_React Redux - Fatal编程技术网

Javascript 来自具有有效负载的子级的调度操作(REACT)

Javascript 来自具有有效负载的子级的调度操作(REACT),javascript,reactjs,react-native,redux,react-redux,Javascript,Reactjs,React Native,Redux,React Redux,我的chid组件中有以下代码 export const PayPalSecureMessage = (props: TProps) => { let ecValue = { ecToken: "", paymentDetails: {} }; const PayPalButton = paypal.Buttons.driver("react", { React, ReactDOM }); const createOrder = async (data, actions) =

我的chid组件中有以下代码

export const PayPalSecureMessage = (props: TProps) => {
  let ecValue = { ecToken: "", paymentDetails: {} };

  const PayPalButton = paypal.Buttons.driver("react", { React, ReactDOM });

  const createOrder = async (data, actions) => {
      ecValue = await getECToken(
        props.orderTotal,
        true
      );
      return ecValue.ecToken;
  };


  return (
          <div>
          <PayPalButton
              env="sandbox"
              createOrder={createOrder}
          />
          </div>
  )

};

如您所见,我有mapStateToProps,因此父组件中的任何更改,我都将能够根据上面的映射更新我的子组件

现在,我想从子组件分派一个操作<上面看到的代码>创建订单实际上是在单击按钮时调用的。但我需要将有效负载数据与此操作调用一起传递

像这样的

const mapDispatchToProps = {
  createOrder: callCreateOrder(payload), //how to pass payload with action dispatcher here?
  removeCard: removeGiftCard
};

有人能告诉我如何在有效载荷的同时发送一个动作吗

我在您的
mapDispatchToProps
或您提供的代码中的任何地方都没有看到
dispatch

您的
mapDispatchToProps
应该类似(根据文档):

通过执行以下操作发送有效负载

increment: () => dispatch({ type: 'INCREMENT', payload: whateverNumYouWantToIncre })
或者,如果您这样定义
mapDispatchToProps
,那么您的有效负载可以直接放在已调度操作的括号内

const mapDispatchToProps = (dispatch, ownProps) => {
  toggleTodo: () => dispatch(toggleTodo(ownProps.todoId))
}
你可能想看看redux的官方文件

increment: () => dispatch({ type: 'INCREMENT', payload: whateverNumYouWantToIncre })
const mapDispatchToProps = (dispatch, ownProps) => {
  toggleTodo: () => dispatch(toggleTodo(ownProps.todoId))
}