如何通过改进的对象解构方式批量赋值属性至现有状态?
可行的简化方案
当然可以把这些重复的赋值代码简化成一两行,以下是两种实用的写法:
方法1:解构+Object.assign(可读性优先)
先从someVariable中解构出需要的属性,再通过Object.assign批量合并到someState上:
const someVariable = await promiseFunc(); const { something1, something2, something3, /* ... */ something20 } = someVariable; Object.assign(someState, { something1, something2, something3, /* ... */ something20 });
方法2:直接解构赋值到目标属性(无临时变量)
不需要额外临时变量,直接在解构时指定赋值给someState的对应属性,注意必须用括号包裹整个解构语句,避免被解析为代码块:
const someVariable = await promiseFunc(); ({ something1: someState.something1, something2: someState.something2, // 依次列出到something20 something20: someState.something20 } = someVariable);
你之前尝试的someState { ... } = someVariable语法不合法,因为解构赋值需要明确指定每个属性的接收目标,不能直接省略赋值映射逻辑。
内容的提问来源于stack exchange,提问作者Muhammad Tahir Qaiser
相关产品推荐
相关产品推荐

