0

我有疑问,任何人都可以帮助我解决我的疑问,或者任何人都可以告诉我在哪里可以找到答案吗?

所以我们知道在对象解构中我们必须使用相同的属性名来解构。但是,在 React 中,当我们useParams从 react-router-dom 解构时,我们使用任何随机属性名称。示例const {randomName} = useParams()这不是破坏吗?

通过相同的属性名称,我的意思是:

const person = { name: "jon", age: 32, location: "UK", }; 
const { name } = person; 
const { abc } = person; 
console.log(name); // logs - jon 
console.log(abc);// logs - undefined 
//(since we did not use the same property name as "name".
4

2 回答 2

1

useParams()返回一个包含 URL 中定义的所有参数的对象;当您解构不使用“任何随机属性名称”时,您使用 URL 中定义的参数。

const {randomName} = useParams()randomName如果不是由 . 返回的 URL 参数之一,则将未定义useParams()

于 2020-10-09T14:57:22.567 回答
0

const { name } = person;相当于const name = person.name。如果person没有名字propertyperson.name会按预期返回undefined,也会const { name } = person;如此。

于 2020-10-09T16:07:17.687 回答