Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript concat vs spread语法_Javascript_Reactjs_Ecmascript 6_Redux - Fatal编程技术网

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]
的结果是什么?