43 lines
1.8 KiB
Markdown
43 lines
1.8 KiB
Markdown
|
---
|
|||
|
title: Pass State as Props to Child Components
|
|||
|
localeTitle: Состояние передачи в качестве компонентов реквизита для детей
|
|||
|
---
|
|||
|
## Состояние передачи в качестве компонентов реквизита для детей
|
|||
|
|
|||
|
В этой задаче мы собираемся передать состояние, но поскольку состояние является локальным для его родительского компонента, мы должны использовать **реквизит** для перехода к дочернему компоненту. Использование реквизита в дочерних компонентах позволит нам хранить все данные состояния в родительском компоненте, и мы можем передавать данные в одном направлении к дочерним компонентам.
|
|||
|
|
|||
|
```javascript
|
|||
|
class MyApp extends React.Component {
|
|||
|
constructor(props) {
|
|||
|
super(props);
|
|||
|
this.state = {
|
|||
|
name: 'CamperBot'
|
|||
|
}
|
|||
|
}
|
|||
|
render() {
|
|||
|
return (
|
|||
|
<div>
|
|||
|
// Here we will call this.state.name in order to pass the value of CamperBot
|
|||
|
// to the NavBar component
|
|||
|
<Navbar name={this.state.name} />
|
|||
|
</div>
|
|||
|
);
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
class Navbar extends React.Component {
|
|||
|
constructor(props) {
|
|||
|
super(props);
|
|||
|
}
|
|||
|
render() {
|
|||
|
return (
|
|||
|
<div>
|
|||
|
// Since we passed in the CamperBot state value into the the NavBar component above
|
|||
|
// the h1 element below will render the value passed from state
|
|||
|
<h1>Hello, my name is: {this.props.name}</h1>
|
|||
|
</div>
|
|||
|
);
|
|||
|
}
|
|||
|
};
|
|||
|
|
|||
|
```
|