자바스크립트 상태

| | | | | | | | |

React JavaScript 라이브러리의 State에 대해 들어본 적이 있지만 사용법을 모르십니까? 상태는 "모든 개체가 웹 페이지에 나타나는 방식"을 나타냅니다. " 개념은 간단합니다. 설명된 데이터를 수정하여 변경할 수 있는 구성 요소의 현재 상태에 대한 데이터 모음입니다. 데이터가 변경될 때마다 컴퓨터 화면에 다시 표시됩니다. 조건의 가장 어려운 부분 사용 방법과 시기를 알고 있습니다. 하지만 이 자습서에서는 상태가 사용되는 방법을 설명하므로 걱정하지 마십시오.

빠른 개요를 제공하기 위해 초기 상태를 설정하려면 this.state를 사용합니다. JavaScript 생성자의 상태를 업데이트하려면 setState 메소드를 사용하세요. 상태와 상태 사용 방법에 대해서는 이 튜토리얼에서 더 자세히 설명하겠습니다.

이란 반응 상태?

반응 상태는 구성 요소에 대해 지정된 속성 집합이 있는 개체이며 구성 요소가 렌더링되는 방식에 도움이 됩니다. state가 있는 구성 요소를 상태 저장이라고 합니다. 일반적으로 구성 요소가 make 간에 정보를 추적해야 하는 경우 사용합니다.

예를 들어 개수를 추적해야 하는 "좋아요" 버튼 구성 요소가 있습니다. 클릭 횟수입니다. 업데이트된 좋아요 수를 표시하는 것처럼 버튼을 누를 때마다 화면에 다시 나타나야 합니다. 그리고 그것을 위해서는 우리가 코딩한 정보를 계속해서 반복하는 대신 버튼과 같은 컴포넌트가 정보를 따라가는지 확인해야 합니다. 결국 이 사람들을 놓치고 싶지 않습니다.

구성 요소의 상태 데이터는 this.state를 통해 액세스할 수 있고 .setState<를 사용하여 편집할 수 있습니다. /코드> 메소드. state는 state를 포함하는 컴포넌트에 의해 변경될 수 없기 때문에 private입니다.

많은 사람들이 state와 반응의 또 다른 대상인 액세서리를 혼동하지만 중요한 차이점 둘 사이. 그 중 하나는 상태가 동적이라는 것입니다. 즉, 포함된 데이터가 변경되어 구성 요소의 동작에 영향을 미칠 수 있습니다. 반면 Props는 변경할 수 없으므로 "빌드된 후에는 상태를 변경할 수 없습니다. "

반응 상태 구문

상태는 처음에 생성자라는 함수에서 정의됩니다. 상태가 변경될 수 있으므로 초기 현재 값이 있음을 보장합니다. 상태를 설정하는 일반적인 형식은 다음과 같습니다.

예를 들어 , 타이머 구성요소를 생성하는 경우 시작 상태를 this.state = {0}seconds:로 설정해야 합니다. 타이머가 1초마다 상태를 변경한다는 것을 알고 있지만 카운트를 시작해야 합니다. 당신이 코딩하는 컴포넌트를 "this"라고 합니다. 이 명령문은 속성 중 하나("seconds")를 사용자가 선택한 값(이 경우 "0")과 동일하게 설정하여 컴포넌트의 상태를 변경합니다. set.

여기에 샘플의 "사람" 레코드라는 이름의 구성 요소가 있습니다. 우리는 구성 요소의 상태 개체에 이름, 직업, 머리카락 및 나이의 네 가지 값을 추가합니다.

p>

// 기본 React 문 가져오기

// 생성자에 정의된 상태 속성과 함께 "Person"이라는 이름의 구성 요소:

// 화면에 표시될 내용을 정의하는 렌더링 함수:

사람

); }} ReactDOM.render(<읽기 />, document.getElementById(`루트`));

마지막 줄은 코드가 HTML 문서를 살펴보고 id가 "root"인 요소를 찾고 렌더링에서 지시한 대로 수행함을 나타냅니다. () 메소드 위. 이것이 index.html 파일의 문서 본문에 다음을 추가해야 하는 이유입니다.

이 HTML 태그는 "루트"에 전체 ID 속성이 있습니다. 여기에서 구성 요소에 렌더링하도록 요청한 내용이 모두 표시됩니다.

this.state.attributeName을 입력하여 상태 개체를 참조할 수 있습니다. 이렇게 하면 "attributename"이 정의된 속성으로 바뀝니다.

다음은 이전에 정의한 속성을 사용하여 "Person" 구성 요소의 상태를 만드는 예입니다. {} this.state.attribute 형식을 사용하여 코드를 작성 중인 구성 요소의 속성 값을 호출합니다.

이 경우 다음 메서드를 "person" 구성 요소에 복사합니다. 이것은 "저것"이 참조하는 것입니다. 화면에는 우리가 작성한 속성에 속하는 값이 표시됩니다. 마지막 예제에서 "Person" 구성 요소의 render () 선언을 다음과 같이 바꿉니다.

{this.state.name}

{{this.state.name}은 that.state.occupation}이고 {}입니다. this.state.age years 현재 그녀의 머리카락은 {this.state.hair}

) .. }

화면에 다음 값이 포함된 헤더가 표시됩니다. "이름" 속성은 Tom Hiddleston입니다. 아래에는 "Tom Hiddleston은 배우이고 40세입니다."라는 단락이 있습니다. 그녀의 머리카락은 검은색입니다. "

.setState()는 this.setState()를 사용하여 상태 개체의 값을 업데이트합니다. 이 메서드는 하나의 인수를 사용하며, 이는 새 속성 및 해당 값: {attribute: "new value" }. 메서드가 이 작업을 수행하는 데 사용됩니다. React는 새 콘텐츠가 항상 표시되도록 장면 뒤에서 render 메서드를 호출하기 때문입니다.

이전의 "person" 구성 요소를 사용한 예입니다. 기사 시작 부분에서 본 "person" 코드 구성 요소에 다음 코드를 추가하세요.

  1. 추가 바디 클래스에서 직업 수정 함수를 "person"으로 변경합니다. 이 함수는 .setState 메서드를 호출합니다. 여기에 쓰여진 속성은 occupancy 속성이고 우리는 변경하고자 하는 값을 씁니다. " 작업이 현재
    작업 = () => {this.setState({occupation "model"});} "액터"인 구성 요소 코드입니다.
  2. .render () 메인 메소드 a>

    여러 개의 .setState()가 순서대로 처리되지 않아 나타날 수 있습니다. - 주의해야 하는 충돌 . 이는 코드가 계속 진행 중이기 때문에 중요합니다. 더 많은 라인과 더 많은 React 작성 상태가 있으므로 함께 작동하는 방식에 대해 생각해야 합니다. 이것은 특히 React가 본질적으로 비동기식이기 때문에 수행하기 어려울 수 있습니다. 여기서 누가 setstate 메소드를 제어하는지 예측할 수 없습니다. 처리해야 합니다.

    상태를 사용해야 합니까?

    답은 간단합니다. 아니요, 사용해서는 안 됩니다. 구성 요소에는 두 가지 주요 유형이 있습니다. React 구성 요소 기능 및 클래스 구성 요소. Stateless 구성 요소는 기능적 구성 요소입니다. 실수로 구성 요소에 상태가 없었습니다. 직접 만들어야 합니다.

    Stateless, 그러나 응용 프로그램은 그다지 상호 작용하지 않습니다.. 설정을 선택하더라도 state work , 너무 열성적으로 사용하지 않는 것이 좋습니다. 복잡성으로 인해 충돌 가능성을 예측하기 어렵게 만듭니다.

    결론

    State와 Props는 React를 사용할 때 염두에 두어야 할 두 가지 중요한 객체입니다. 상태는 상태를 정의하는 업데이트된 데이터를 기반으로 변경되는 구성 요소의 현재 상태를 추적합니다. 반면에 액세서리는 변경되지 않습니다. 사용하는 간단한 경험 법칙은 "이 구성 요소의 속성이 언제든지 변경되고 있습니까?"라고 묻는 것입니다. ". 대답이 "예"이면 Props는 변경할 수 없으므로 상태 범주를 사용하려는 것입니다.

    React , JavaScript ES6, React VERSATILE 같은 방향 함수, 클래스 및 변수 유형과 같은 기능. 또한 최근 출시일 React, 반응 후크 .

    자바스크립트 상태 __del__: Questions

    자바스크립트 상태 __dict__: Questions

    Shop

    Best Python online courses for 2022

    $

    Best laptop for Fortnite

    $

    Best laptop for Excel

    $

    Best laptop for Solidworks

    $

    Best laptop for Roblox

    $

    Best computer for crypto mining

    $

    Best laptop for Sims 4

    $

    Best laptop for Zoom

    $499

    Latest questions

    NUMPYNUMPY

    psycopg2: insert multiple rows with one query

    12 answers

    NUMPYNUMPY

    How to convert Nonetype to int or string?

    12 answers

    NUMPYNUMPY

    How to specify multiple return types using type-hints

    12 answers

    NUMPYNUMPY

    Javascript Error: IPython is not defined in JupyterLab

    12 answers

    Wiki

    Python OpenCV | cv2.putText () method

    numpy.arctan2 () in Python

    Python | os.path.realpath () method

    Python OpenCV | cv2.circle () method

    Python OpenCV cv2.cvtColor () method

    Python - Move item to the end of the list

    time.perf_counter () function in Python

    Check if one list is a subset of another in Python

    Python os.path.join () method