Javascript 来自具有有效负载的子级的调度操作(REACT)
我的chid组件中有以下代码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) =
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))
}