在 Person(Child Component) 函数中将 prop 作为参数传递时,为什么我们应该将 props 写在大括号中?
应用程序.js
import React from 'react';
import Person from './Person';
const App = () => {
return (
<div>
<Person name={"John"} />
</div>
);
}
export default App;
Run Code Online (Sandbox Code Playgroud)
Person.js
import React from 'react';
const Person = ({name}) => { //I am talking about this line
return (
<div>
<h1/>My name is {name}.</h1>
</div>
);
}
export default Person;
Run Code Online (Sandbox Code Playgroud)
如果要传递的字符串 prop 是静态的(就像这里一样),则无需这样做。
<Person name="John" />
Run Code Online (Sandbox Code Playgroud)
会工作得很好。
{}每当要传递的值不是静态的时,您就需要s - 例如,当它来自变量时:
<Person name={nameFromState} />
Run Code Online (Sandbox Code Playgroud)
当将任何内容插入 JSX(在 props 之外)时,您还需要{}s,如您所见
<h1/>My name is {name}.</h1>
Run Code Online (Sandbox Code Playgroud)
这条线
const Person = ({name}) => {
Run Code Online (Sandbox Code Playgroud)
只是解构,相当于
const Person = (props) => {
const { name } = props;
Run Code Online (Sandbox Code Playgroud)
这相当于
const Person = (props) => {
const name = props.name;
Run Code Online (Sandbox Code Playgroud)
所有这些可能性都很好,但有些人更喜欢在参数列表中解构以使事情更简洁。
| 归档时间: |
|
| 查看次数: |
2692 次 |
| 最近记录: |