react-native - Redux saga 将多个参数作为动作传递并进入 saga 函数 React native
问题描述
我想在 Redux saga 动作中传递多个参数,所以我做了如下代码
this.props.addCartData(_addToCartObject, 'guest')
在调度里面我像下面一样经过
addCartData: (value, isFor) => dispatch(addCartRequest(value, isFor)),
在传奇功能中,我正在访问如下
function* callAddCart(data, isFor) {
try {
console.log("isFor--->", isFor);
}
}
export function* cartSaga() {
return yield all([
yield takeLatest(actionTypes.ADD_CART_REQUEST, callAddCart),
]);
}
但是我记录了 isFor 我没有定义你能帮我解决我在这方面做错了什么吗?
解决方案
这一切都围绕您的动作创建者工作addCartRequest
,
假设它返回一个对象,例如:
function addCartRequest(value, isFor) {
return {
type: actionTypes.ADD_CART_REQUEST,
value,
isFor
};
}
你的传奇观察者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
推荐阅读
- typescript - Typescript 4.1.5 传播运算符问题
- python - 如何计算不同行对的平均值并从数据框中删除 N-1 行?
- twilio - 仅限本地参与者的 Twilio 屏幕捕获
- django - /profile/ ModelForm 处的 ValueError 未指定模型类。错误django
- angular - 重新计算列宽 ngx-datatable
- python - "from ab import c" 将 'b' 和 'c' 添加到命名空间
- tooltip - 自动定位工具提示语义 UI
- javascript - 从作为数字的 JSON 值进行加法并将其替换为结果
- jenkins - 在具有相同标签的不同节点上并行运行阶段
- javascript - 所选元素上下移动,但滚动行为不起作用