【发布时间】:2017-11-05 12:32:21
【问题描述】:
正如标题所说,我的组件通过 connect 函数连接到 redux 存储,不会触发特定情况下的状态更改更新,而在其他情况下运行良好。
处于被修改状态的变量具有如下结构
state: {
billDetails: {
productType1: {...},
productType2: {...},
productType3: {...},
productType4: {
accountId1 : [
{invoiceNo:1, isChecked: true},
{invoiceNo:2, isChecked: false}
],
accountId2: [...]
}
}
}
这是我针对特定情况的减速器代码的代码
{
const { accountId, invoiceNo, isChecked } = action.payload;
const billDetails = result(state.billDetail, `${action.payload.productType}.${accountId}`, []);
const billDetailsModified = billDetails.map((bill) => {
if (bill.invoiceNo === invoiceNo) {
bill.isChecked = isChecked;
}
return bill;
});
const newState = Object.assign({}, state);
newState.billDetail[action.payload.productType][accountId] = billDetailsModified;
return newState;
}
组件使用billDetail: result(state, 'billUsage.billDetail', {})连接到mapStateToProps函数中的billdetails对象
【问题讨论】:
-
你有没有调试过你的 redux 状态以确保 reducer 能正常工作?
标签: react-native react-redux redux-saga