【发布时间】:2020-01-10 10:43:11
【问题描述】:
我正在尝试直接在 params 函数中解构值并使用通用对象影响默认值(对于每个被解构的子属性):
例子
const initialTest = {
name: 'myName',
surname: 'mySurname',
age: 100,
};
const MyComponent = ({
test: { name, surname, age } = initialTest,
}) => { ... }
<MyComponent test={{ name: 'myNameFromProps' }} />
我的最终愿望是拥有 3 个 const name、surname 和 age,如果它们已定义,则其值来自 props(函数的参数),如果未定义,则值来自 initialTest。
使用这段代码,如果test没有在组件的props中定义,它将使用initialTest,但是如果像上面的例子一样只用name props定义测试,我会得到:
name = 'myNameFromProps'
surname undefined
age undefined
我想要:
name = 'myNameFromProps'
surname = 'mySurname'
age = 100
对于 sur,我可以做到:
const MyComponent = ({
test: { name = initialTest.name, surname = initialTest.surname, age = initialTest.age },
}) => { ... }
但这绝对不好笑……
我用括号 test: ({ name, surname, age } = initialTest), 试过,但不起作用,eslint 说我是一个愚蠢的开发人员......他是对的 xD
如果您有任何建议/想法/解决方案,我很乐意阅读。谢谢大家!
【问题讨论】:
标签: javascript reactjs destructuring