Update index.md (#30410)
This commit is contained in:
committed by
Gregory Gubarev
parent
1a204a94d7
commit
6924d9c9e8
@ -4,7 +4,7 @@ localeTitle: Состояние компонента
|
|||||||
---
|
---
|
||||||
## Состояние компонента
|
## Состояние компонента
|
||||||
|
|
||||||
В компонентах `Class` существует способ хранения и управления состоянием, встроенным в React Native.
|
В компонентах `Class` существует встроенный в React Native способ хранения и управления состоянием.
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
class App extends Component {
|
class App extends Component {
|
||||||
@ -36,7 +36,7 @@ class App extends Component {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Состояние похоже на реквизит, но оно является частным и полностью контролируется компонентом. Здесь метод `constructor()` вызывает конструктор родительского класса с `super();` - **`Component`** является родительским классом `App` потому что мы используем ключевое слово `extends` . Метод `constructor()` также инициализирует объект состояния компонента:
|
Состояние похоже на props, но оно является приватным и полностью контролируется компонентом. Метод `constructor()` вызывает конструктор родительского класса с `super();` - **`Component`** приходится родительским классу `App` потому что мы используем ключевое слово `extends` . Метод `constructor()` также инициализирует объект состояния компонента:
|
||||||
```
|
```
|
||||||
this.state = {
|
this.state = {
|
||||||
counter: 0
|
counter: 0
|
||||||
@ -49,17 +49,17 @@ this.state = {
|
|||||||
{this.state.counter}
|
{this.state.counter}
|
||||||
```
|
```
|
||||||
|
|
||||||
Или обновляется по телефону:
|
Или обновляться по вызову:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
this.setState({});
|
this.setState({});
|
||||||
```
|
```
|
||||||
|
|
||||||
**Примечание.** Помимо своего первоначального создания в методе `constructor()` вашего компонента, вы никогда не должны напрямую изменять состояние компонента с помощью `this.state =` . Вы должны использовать `this.setState` как видно из приведенных выше функций `incrementCount` и `decrementCount` .
|
**Примечание.** Помимо первоначального создания в методе `constructor()` вашего компонента, вы никогда не должны напрямую изменять состояние компонента с помощью `this.state =` . Вы должны использовать `this.setState` как видно из приведенных выше функций `incrementCount` и `decrementCount` .
|
||||||
|
|
||||||
`onPress` увеличивается и уменьшается, вызывая функции, переданные обработчикам `onPress` точно так же, как если бы вы вызвали обработчик кликов из JavaScript в Интернете.
|
Счётчик увеличивается и уменьшается по вызову функции, переданной обработчику `onPress` точно так же, как если бы вы вызвали обработчик кликов из JavaScript в вебе.
|
||||||
|
|
||||||
_ASIDE: В первом примере `<Button>` - это настраиваемый компонент; это комбинация `<TouchableOpacity>` и `<Text>` от React Native API:_
|
_Кроме того: В первом примере `<Button>` - это настраиваемый компонент; это комбинация `<TouchableOpacity>` и `<Text>` из React Native API:_
|
||||||
|
|
||||||
```js
|
```js
|
||||||
const Button = ({ onPress, children, buttonProps, textProps }) => {
|
const Button = ({ onPress, children, buttonProps, textProps }) => {
|
||||||
@ -73,4 +73,4 @@ const Button = ({ onPress, children, buttonProps, textProps }) => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
```
|
```
|
||||||
|
Reference in New Issue
Block a user