我有以下代码(运行良好)
const action = {
type: types.CHANGE_ADMIN_USER_PASSWORD,
password: initialState.admin.editUserPassword.password,
confirm: initialState.admin.editUserPassword.confirmPassword,
...input
};
其中input
是{password: 'hello'}
或{confirm:'world'}
。值可以不同,但只有一个键存在。
问题:有没有办法简化代码?例如,我只想拥有一次 initialState.admin.editUserPassword
。 UPD:initialState.admin.editUserPassword
具有两个以上属性,因此我无法将所有该对象包含到 action
中。
最佳答案
最简单的方法是 destructuring :
const { password, confirmPassword } = initialState.admin.editUserPassword;
const action = {
type: types.CHANGE_ADMIN_USER_PASSWORD,
password,
confirm: confirmPassword,
...input
};
如果嵌套对象 (initialState.admin.editUserPassword
) 仅具有这两个字段 (password
、confirmPassword
),并且不重命名confirmPassword
来confirm
,您甚至可以执行以下操作:
const action = {
type: types.CHANGE_ADMIN_USER_PASSWORD,
...initialState.admin.editUserPassword,
...input
};
关于javascript - ES6 对象赋值简化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47014505/