javascript - 使用 es6 spread 而不使用 Object.assign

标签 javascript reactjs redux

我不是 Object.assign 的忠实粉丝,在我看来,它很难阅读而且不优雅,我尽量避免使用它。我在 redux reducer 的某个地方看到了这个

case ADD_TODO:
  return Object.assign({}, state, {
    todos: [
      ...state.todos,
      {
        text: action.text
      }
    ]
  })

只是好奇上面的对象分配看起来不错吗?为什么不这样做呢?

case ADD_TODO:
  return {
    ...state,
    todos: [
      ...state.todos,
      {
        text: action.text
      }
    ]
  }

最佳答案

Why not just do this instead?

因为它不再是有效的 ES6。

object rest/spread syntax proposal已经存在了一段时间,但只被 ES2018 接受。请参阅here了解详情。

关于javascript - 使用 es6 spread 而不使用 Object.assign,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49419897/

相关文章:

类和名称的 Javascript onclick

reactjs - 如何覆盖自定义 Material UI Accordion 的样式(分隔线和折叠图标)

typescript - 如何根据 Redux 的类型定义在 TypeScript 中创建强类型的 redux 中间件?

javascript - 制作工具提示,但我遇到此错误 : TypeError: Cannot read property 'handleMouseIn' of undefined

javascript - AngularJS module.directive 响应不一致

javascript - 如果 setInterval 在函数内部,为什么 clearInterval 不起作用?

javascript - 在监听更改时查询多个键 - Firebase

reactjs - 如何在next js中设置和使用本地存储

javascript - 如何从reactjs中的数组中删除重复的对象

javascript - react : Warning: Can't perform a React state update on an unmounted component