Files
freeCodeCamp/guide/russian/react-native/props/index.md

69 lines
1.9 KiB
Markdown
Raw Normal View History

2018-10-12 16:00:59 -04:00
---
title: Props
2019-05-08 11:08:12 +03:00
localeTitle: Props
2018-10-12 16:00:59 -04:00
---
2019-05-08 11:08:12 +03:00
## React Native - Props
2018-10-12 16:00:59 -04:00
2019-05-08 11:08:12 +03:00
Термин «props», что является сокращением от «properties» (свойства), означает некоторый тип данных, передаваемых из одного компонента в другой. Пропсы всегда спускаются вниз от родительского компонента к дочернему.
2018-10-12 16:00:59 -04:00
2019-05-08 11:08:12 +03:00
В React дочерний компонент имеет доступ к информации от родителя через пропсы:
2018-10-12 16:00:59 -04:00
```jsx
// the child Header component receives the text prop and can access it via this.props.text
class Header extends Component {
render () {
return (
<Text>{this.props.text}</Text>
)
}
}
class App extends Component {
render () {
return (
<Header text="Welcome!" />
);
}
}
```
Это также работает в функциональных компонентах:
```jsx
// in functional components, props will be received as a parameter 'props'
const Header = (props) => {
return (
<Text>{props.title}</Text>
);
};
class App extends Component {
render () {
return (
<View>
<Header text="Welcome!" />
</View>
);
}
}
```
2019-05-08 11:08:12 +03:00
Другие импортируемые библиотеки также дадут вам доступ к дополнительным пропсам внутри ваших компонентов. Вот пример из библиотеки [react-native-elements](https://github.com/react-native-training/react-native-elements) .
2018-10-12 16:00:59 -04:00
```jsx
import { Button } from 'react-native-elements';
// here 'buttonStyle' and 'title' are props passed into the Button component
class App extends Component {
render () {
return (
<Button
buttonStyle={{backgroundColor: 'red', borderRadius: 10}}
title={`Submit`}
/>
);
}
}
2019-05-08 11:08:12 +03:00
```