以下是代码:
var state = {
txn:[],
do:false
}
var newState = Object.assign ({}, state,
{
txn: state.txn.slice(0,0).concat([{txnId:3, b:5}, {txnId:5, b:6}])
},
{
do: !state.do
}
);
var newState2 = Object.assign ({}, newState,
{
txn[0].txnId: 9
});
第一个Object.assign
有效,newState
有txn
数组填充了两个元素。
第二个Object.assign
无效。
它说" ["是一个意外的令牌。
有什么建议吗?
答案 0 :(得分:2)
可以通过这种方式实现:
var newState2 = Object.assign ({}, newState,
{
txn: newState.txn.map((item, index) => {
if (index === 0) {
return { txnId: item.txnId, b: 9 };
}
else {
return item;
}
})
});