코어 포인트
React Native의 상태는 시간이 지남에 따라 카운터 애플리케이션의 카운터 또는 할 일 목록과 같은 할 일 목록과 같은 모든 것을 말합니다. React의
메소드, 컨텍스트 API 및 최근에 도입 된 후크를 포함한 다양한 방법을 사용하여 관리됩니다.
Context API는 각 층에서 소품을 수동으로 전달하지 않고 구성 요소 트리에서 데이터를 전달하는 방법을 제공하므로 소위 "소품 드릴링"문제를 피합니다. 구성 요소간에 데이터를 직접 전송할 수 있습니다. -
반응 후크는 React v16.8에 도입되어 상태가 반응하는 방식을 단순화했습니다. 함수 구성 요소에서 상태를 사용하고 코드 줄 수를 줄이며 코드를 쉽게 읽을 수 있습니다. setState()
상태를 상위 구성 요소로 높이면 구성 요소를 통해 상태를 공유 할 수 있습니다. 이 관행은 항상 간단한 것은 아니지만 React에서 일반적이며 부모 구성 요소가 큰 상태 대상이되는 것을 방지하는 데 도움이됩니다.
-
주 경영진은이를 구현할 수있는 여러 가지 방법이 있기 때문에 React Native를 학습하는 데 가장 어려운 개념 중 하나입니다. NPM 레지스트리에는 Redux와 같은 수많은 주 관리 라이브러리가 있으며 다른 주 관리 라이브러리를 기반으로 한 수많은 라이브러리가 있으며 Redux Easy와 같은 원래 라이브러리 자체를 단순화합니다. 새로운 주 관리 도서관은 매주 RECT에 도입되지만 RECT가 도입 된 이후, 응용 프로그램 상태 유지의 기본 개념은 동일하게 유지됩니다.
React Native에서 상태를 설정하는 가장 일반적인 방법은 React의 메소드를 사용하는 것입니다. 또한 컨텍스트 API를 사용하여 소품 시추를 피하고 트리의 개별 하위 구성 요소에게 전달하지 않고 다층 상태를 아래로 전달할 수 있습니다.
최근에, 후크는 React V16.8.0에 나타났습니다. React Native는 V0.59에서 가져 왔습니다. -
이 튜토리얼에서는 상태가 실제로 무엇을 의미하는지,
메소드, 컨텍스트 API 및 반응 후크를 배울 것입니다. 이것은 React Native에서 상태를 설정하기위한 기초입니다. 모든 라이브러리는 위의 기본 개념을 기반으로 구축됩니다. 따라서 이러한 개념을 이해하면 라이브러리를 이해하거나 자신의 주 관리 라이브러리를 쉽게 만들 수 있습니다.
처음부터 React Native를 배우고 싶습니까? 이 기사는 Advanced Library에서 발췌 한 것입니다. 기본, 프로젝트, 팁 및 도구를 다루는 완전한 React Native Book Collection을 위해 Sitepoint Premium에 가입하십시오.
상태 란?
시간이 지남에 따라 변하는 것을 상태라고합니다. 카운터 응용 프로그램이 있으면 상태가 카운터 자체입니다. 할 일 앱이 있으면 시간이 지남에 따라 할 일 목록이 변경 되므로이 목록은 상태가됩니다. 입력 요소조차도 사용자가 입력 할 때 시간이 지남에 따라 변경되므로 어떤 의미에서 상태입니다. setState()
SetState 소개
이제 우리는 상태가 무엇인지 알았으므로 React가 어떻게 저장하는지 이해합시다.
간단한 카운터 애플리케이션을 고려하십시오 :
이 응용 프로그램에서는 상태를 생성자의 객체 내에 저장하고 에 할당합니다.
상태는 하나의 물체 일 수 있습니다. 직접 숫자를 저장할 수 없습니다. 이것이 바로 우리가 객체 내부에
변수를 만드는 이유입니다. import React from 'react';
import { Text, Button } from 'react-native';
class Counter extends React.Component {
state = {
counter: 0,
};
render() {
const { counter } = this.state;
return (
<>
<Text>{counter}</Text>
<Button title="Increment" onPress={() => this.setState({ counter: counter + 1 })} />
<Button title="Decrement" onPress={() => this.setState({ counter: counter - 1 })} />
</>
);
}
}
로그인 후 복사
로그인 후 복사
<🎜 🎜> <🎜 🎜> 메소드에서 <🎜 🎜> 속성을 해체하고 <🎜 🎜> 내에서 렌더링합니다. 현재는 정적 값 만 표시됩니다 (0).
당신은 또한 다음과 같이 생성자 외부의 상태를 쓸 수 있습니다 : this.state
.
이제 우리는 ""및 "-"버튼이 작동하기를 원한다고 가정합니다. 우리는 각자의 핸들러 안에 일부 코드를 작성해야합니다.
counter
이제 ""및 "-"버튼을 클릭하면 재 렌즈를 구성 요소에 반응합니다. <<<> 메소드가 사용되기 때문입니다.
<🎜 🎜> 메소드는 변경된 트리의 일부를 다시 렌더링합니다. 이 경우 렌더 render
를 다시 렌더링합니다. this.state
그래서 우리가 클릭하면 "카운터를 1 씩 증가시킵니다. "-"를 클릭하면 카운터가 1으로 줄어 듭니다. counter
<h1>
를 변경함으로써 직접 상태를 변경할 수 없다는 것을 기억하십시오.
또한, 상태 변경은 비동기 작업입니다. 즉, <🎜 🎜>를 호출 한 직후에 를 읽으면 최신 변경 사항을 반영하지 않습니다.
위 내용은 React Native의 국가 관리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!