作为React世界的初学者,我想深入了解当我使用{this.props时发生了什么。Children}和什么情况下使用相同。它在下面的代码片段的相关性是什么?
render() {
if (this.props.appLoaded) {
return (
<div>
<Header
appName={this.props.appName}
currentUser={this.props.currentUser}
/>
{this.props.children}
</div>
);
}
}
这是回答,但想添加一个优化示例。您可以内联分解以只获得特定的属性,而不是整个props对象(这意味着您不必一直编写props)。
const MyView = ({title, children}) => {
return (
<>
<h1>{title}</h1>
{children}
</>
);
}
然后你可以这样使用它:
import { MyView } from './MyView';
const MyParentView = () => {
return (
<MyView title="Hello">
<h2>World</h2>
</MyView>
);
}
最终的结果将是HTML,呈现出如下内容:
<div>
<h1>Hello</h1>
<h2>World</h2>
</div>
在React中,道具。children属性指向传递给React组件的子元素。
例如,在以下代码中:
<MyComponent>
<div>Child 1</div>
<div>Child 2</div>
</MyComponent>
MyComponent组件有两个子元素:一个div元素包含文本“Child 1”,另一个div元素包含文本“Child 2”。MyComponent组件可以使用这些道具访问和呈现这些子组件。孩子们的财产。
例如,MyComponent组件可以像这样呈现它的子组件:
class MyComponent extends React.Component {
render() {
return (
<div>
{this.props.children}
</div>
);
}
}
这将把两个div元素呈现为MyComponent组件的子元素。