我对将 Object.assign
用于 React 和 Redux 感到有些困惑。
我读了这篇 文章。
它说 ES6 Does not supported by all browsers 但我已经开始使用它了。
我有两个问题:
- 继续
Object.assign
是正确的决定吗? - 有什么选择?
我的代码
export const selectDiameter = (scaleData, size) => {
return {
type: SELECT_DIAMETER,
payload: Object.assign({}, scaleData, {
diameter: Object.assign({}, scaleData.diameter, {
selected_tube_diameter: size,
is_clicked: true,
audio: Object.assign({}, scaleData.diameter.audio, {
is_played: true
})
})
})
}
}
上面代码的替代方案是什么?
原文由 Gopinath Kaliappan 发布,翻译遵循 CC BY-SA 4.0 许可协议
Redux 文档建议您使用扩展运算符方法而不是
Object.assign
根据文档:
当您编写复杂的对象时,使用对象展开语法的优势会变得更加明显
使用 Spread 运算符语法
它仍然使用 ES6。请参阅 Redux 文档 以获取有关为相同的代码配置代码的更多信息
但是,当您处理嵌套数据时。我更喜欢使用
immutability-helpers
对于您的代码,它就像