在使用redux操作时,是否可以提前绑定参数值?
我有一个动作和一个传奇 我想从actions.js内部为action实例提供一个值 我还想从故事中为action实例提供一个值 因此,当调用与动作相关联的减速器时,它将在有效负载中接收两个值 我该怎么做 actions.js sagas.js reducers.js在使用redux操作时,是否可以提前绑定参数值?,redux,redux-saga,redux-actions,Redux,Redux Saga,Redux Actions,我有一个动作和一个传奇 我想从actions.js内部为action实例提供一个值 我还想从故事中为action实例提供一个值 因此,当调用与动作相关联的减速器时,它将在有效负载中接收两个值 我该怎么做 actions.js sagas.js reducers.js 当您创建一个动作时,您可以向它添加任何您想要的负载。现在,您只需使用裸字符串创建操作,而无有效负载 createActiontype,payloadCreator payloadCreator必须是函数、未定义或null creat
当您创建一个动作时,您可以向它添加任何您想要的负载。现在,您只需使用裸字符串创建操作,而无有效负载 createActiontype,payloadCreator payloadCreator必须是函数、未定义或null createAction'ACTION_NAME',=>{reuturn{foo:'bar'};} 在sagas中,put也接受类型为string和payload的裸对象 例如,收益投入{类型:'PRODUCTS_RECEIVED',PRODUCTS} 所以,若createAction返回具有类型和负载的对象,sagas也将使用它。您可以在yeld之前使用console.log检查操作创建者返回的内容
console.log('Action for saga:', myAction());
yield put(myAction()); // How do I supply payload value "bar" here?
因此,在创建操作时添加的有效负载与稍后提供的其他有效负载合并了吗?@Ben向主要答案添加了更多细节。我仍然有点困惑。当我最初创建动作createAction'action_NAME'时,如何提供值'foo'?下面的内容会将其添加到最终有效负载中吗?createAction'ACTION_NAME',{foo}?不,payloadCreator必须是函数、未定义或为空。谢谢。那么下面的方法应该有效吗?export const myAction=foo=>createActionMY_ACTION,bar=>{foo,bar};?然后我可以创建动作,传递foo,然后以正常的方式传递bar作为有效负载,减速机将看到这两个?
function* mySaga({
yield put(myAction()); // How do I supply payload value "bar" here?
}
export default handleActions({
'ACTION_NAME': handleReduce(state, { payload: { foo, bar } }) =>
{ /* foo and bar should be defined */ }) });
console.log('Action for saga:', myAction());
yield put(myAction()); // How do I supply payload value "bar" here?