39 lines
2.3 KiB
Markdown
39 lines
2.3 KiB
Markdown
---
|
||
title: Functional vs Class Components
|
||
localeTitle: Функциональные компоненты класса
|
||
---
|
||
## React Native - Функциональные компоненты класса
|
||
|
||
В React Native существуют два основных типа компонентов, которые составляют _функциональные компоненты приложения_ и _компоненты класса_ . Они структурированы так же, как и в обычном приложении React для Интернета.
|
||
|
||
### Компоненты класса
|
||
|
||
Компоненты класса - это классы JavaScript ES2015, которые расширяют базовый класс от React, называемого `Component` .
|
||
|
||
```js
|
||
class App extends Component {
|
||
render () {
|
||
return (
|
||
<Text>Hello World!</Text>
|
||
)
|
||
}
|
||
}
|
||
```
|
||
|
||
Это дает классу `App` доступ к жизненным циклам React, таким как `render` а также функции state / props от родителя.
|
||
|
||
### Функциональные компоненты
|
||
|
||
Функциональные компоненты проще. Они не управляют своим собственным состоянием или имеют доступ к методам жизненного цикла, предоставленным React Native. Это буквально простые старые функции JavaScript. Они также известны как компоненты без гражданства.
|
||
|
||
```js
|
||
const PageOne = () => {
|
||
return (
|
||
<h1>Page One</h1>
|
||
);
|
||
}
|
||
```
|
||
|
||
### Резюме
|
||
|
||
Компоненты класса используются в качестве компонентов контейнера для управления состоянием и переноса дочерних компонентов. Функциональные компоненты обычно используются только для целей отображения - эти компоненты вызывают функции от родительских компонентов для обработки пользовательских взаимодействий или обновлений состояния. |