Javascript concat vs spread语法
我正在处理一个代码库,其中有很多不一致之处,因为它是由多个不同的人处理的Javascript concat vs spread语法,javascript,reactjs,ecmascript-6,redux,Javascript,Reactjs,Ecmascript 6,Redux,我正在处理一个代码库,其中有很多不一致之处,因为它是由多个不同的人处理的 function todos(state = [], action) { switch (action.type) { case 'ADD_TODO': return state.concat([ action.text ]) default: return state } } 我可以用扩展语法代替concat吗 return[…state,action.text]扩
function todos(state = [], action) {
switch (action.type) {
case 'ADD_TODO':
return state.concat([ action.text ])
default:
return state
}
}
我可以用扩展语法代替concat吗
return[…state,action.text]
扩展语法和数组。prototype.concat()不改变状态,因此遵守redux的第二条规则
状态为只读
你应该能够。当你尝试它的时候它坏了吗?我会使用spread语法,因为它是为你的需要而开发的。这也是一种更干净、更现代的方式。@Ryan我在手机上,我还没有测试过它,我想知道concat的替代方案,我想标准化代码。@JennyMok:好吧,它应该是一个而不是两个,就像
[…state,action.text]
一样,但我不确定如果你不能尝试的话,为什么现在要问这个问题。等你离开手机后再做实验”\_(ツ)_/“@Ryan action是对象对吗?[…state,action.text]
的结果是什么?