Redux saga 将多个参数作为 action 传递并将其放入 saga 函数 React native
Redux saga pass multiple parameter as action and get it into saga function React native
我想在 Redux saga action 中传递多个参数,所以我做了如下代码
this.props.addCartData(_addToCartObject, 'guest')
内部调度我正在通过如下
addCartData: (value, isFor) => dispatch(addCartRequest(value, isFor)),
在 saga 函数中我访问如下
function* callAddCart(data, isFor) {
try {
console.log("isFor--->", isFor);
}
}
export function* cartSaga() {
return yield all([
yield takeLatest(actionTypes.ADD_CART_REQUEST, callAddCart),
]);
}
但是我记录了 isFor 我没有定义你能帮我看看我在这上面做错了什么吗?
这一切都围绕着您的动作创作者 addCartRequest
,
让我们说 returns 一个像这样的对象:
function addCartRequest(value, isFor) {
return {
type: actionTypes.ADD_CART_REQUEST,
value,
isFor
};
}
你的 saga watcher yield takeLatest(actionTypes.ADD_CART_REQUEST, callAddCart)
,会将整个对象传递给 callAddCart
,
假设第一个参数是整个对象,您可以访问它们的值:
function callAddCart(action) {
console.log("actionType--->", action.type);
console.log("value--->", action.value);
console.log("isFor--->", action.isFor);
}
我在 CodeSandbox 中创建了一个工作示例:
https://codesandbox.io/s/2021-03-25-redux-saga-action-creator-payload-hk4sb?file=/src/App.js
我想在 Redux saga action 中传递多个参数,所以我做了如下代码
this.props.addCartData(_addToCartObject, 'guest')
内部调度我正在通过如下
addCartData: (value, isFor) => dispatch(addCartRequest(value, isFor)),
在 saga 函数中我访问如下
function* callAddCart(data, isFor) {
try {
console.log("isFor--->", isFor);
}
}
export function* cartSaga() {
return yield all([
yield takeLatest(actionTypes.ADD_CART_REQUEST, callAddCart),
]);
}
但是我记录了 isFor 我没有定义你能帮我看看我在这上面做错了什么吗?
这一切都围绕着您的动作创作者 addCartRequest
,
让我们说 returns 一个像这样的对象:
function addCartRequest(value, isFor) {
return {
type: actionTypes.ADD_CART_REQUEST,
value,
isFor
};
}
你的 saga watcher yield takeLatest(actionTypes.ADD_CART_REQUEST, callAddCart)
,会将整个对象传递给 callAddCart
,
假设第一个参数是整个对象,您可以访问它们的值:
function callAddCart(action) {
console.log("actionType--->", action.type);
console.log("value--->", action.value);
console.log("isFor--->", action.isFor);
}
我在 CodeSandbox 中创建了一个工作示例:
https://codesandbox.io/s/2021-03-25-redux-saga-action-creator-payload-hk4sb?file=/src/App.js