사용 상태 및 사용 효과(&U)⚛
18101 단어 100daysofcodereactwebdevjavascript
Feb 2019
에서 React 갈고리는 React 커뮤니티에 도입되었다.(16.8절).
이 새로운react 특성은 모든react 개발자가 직면하는 가장 큰 문제 중 하나를 해결했다.
질문 부분을 건너뛸 수 있지만, 리액션 개발자가 갈고리를 리액션으로 가져오도록 하는 이유를 알아보는 것이 좋습니다.
문제.
state needs to be passed to the functional component through props
, 응용 프로그램too large
이라면 drilling of props
은 개발자가 겪어야 하는 obstacle
중 하나이다.wrap hell
도 만든다.갈고리
갈고리는 단지 하나의 함수일 뿐,react의 핵심 특성을 갈고리로 연결하여 기능 구성 요소에 추가 특성을 제공한다.
예를 들어 상태
useState()
, 생명주기useEffect()
useState
useState()
는 갈고리 함수로 개발자가 기능 구성 요소에서 상태를 사용할 수 있도록 한다.import
import {useState} from 'react'
usage of useState
const [stars , setStars] = useState(3)
이거.상태를 설정합니다.
const [stars , setStars] = useState(3)
const [movie , setMovie] = useState("The martian")
const [userInfo , setUserInfo] =useState({
userName:"john",
email: "[email protected]"
})
useState 예
import React, { useState } from "react";
import "./styles.css";
export default function App() {
const [stars, setStars] = useState(3);
return (
<div className="App">
<h1>Welcome to netflix </h1>
<h2>The Martian</h2>
<button onClick={() => setStars(stars + 1)}>Change Rating</button>
<h1>{stars}⭐</h1>
</div>
);
}
Output
Demo
setStars는 이전 값에 값을 추가하여 별표의 값을 설정합니다.그래서 매번 버튼을 누르면 별이
증분
따라서useState는 기능 구성 요소의 상태를 변경하고 설정할 수 있습니다.
우리가 새로운 상태 값을 설정할 때마다 구성 요소가 다시 시작됩니다.
사용 효과
useEffect()
는 갈고리 함수로 개발자가 하나의 생명주기 방법을 사용할 수 있게 한다. 예를 들어기능 구성 요소의 componentDidMount(), componentDidUpdate(), componentWillUnmount().
import
import {useState , useEffect } from 'react'
이 기능은 렌더링할 때마다 실행되며, 대부분의 부작용 (예를 들어 네트워크 요청, 구독) 은 이 기능에서 실행됩니다.useEffect(()=>{
// network requests
}
,[ ])
useffect () 에는 함수와 그룹 변수가 두 개 있습니다.매번 렌더링.
많은 영어는 코드를 통해 이해하게 한다
useEffect
.이 예에서 우리는 간단한 책갈피 프로그램을 만들 것이다.
이 응용 프로그램은 API에서 책갈피를 추가할 수 있는 게시물을 가져옵니다.
이렇게!적용:).
Demo
import React, { useState, useEffect } from "react";
import "./styles.css";
export default function App() {
const [post, setPost] = useState("");
const [status, setStatus] = useState("Requesting....");
const [display, setDisplay] = useState("none");
useEffect(() => {
fetch("https://jsonplaceholder.typicode.com/todos/1")
.then((response) => response.json())
.then((json) => {
setPost(json.title);
setStatus("Recieved");
setDisplay(" ");
})
.catch((err) => {
setStatus("Error");
});
});
return (
<div className="App">
<p>{status}</p>
<p>{post}</p>
<button style={{ display: `${display}` }}>BookMark</button>
</div>
);
}
이것은 많은 코드입니다. 맞습니까?우리 블록을 나누어 이 점을 이해합시다.
주 부분
we have 3 state variable in this small app
const [post, setPost] = useState("");
const [status, setStatus] = useState("Requesting....");
const [display, setDisplay] = useState("none");
Post
apistatus
기본적으로 요청 상태 추적(요청 또는 수신).
display
책갈피 버튼의 표시를 전환합니다.Jsx 위젯
<div className="App">
<p>{status}</p>
<p>{post}</p>
<button style={{ display: `${display}` }}>BookMark</button>
</div>
요청 및 게시 상태가 버튼과 함께 페이지에 표시됩니다.유효 부분
useEffect(() => {
fetch("https://jsonplaceholder.typicode.com/posts/1")
.then((response) => response.json())
.then((json) => {
setPost(json.title);
setStatus("Recieved");
setDisplay(" ");
})
.catch((err) => {
setStatus("Error");
});
});
우리가 알고 있는 바와 같이 사용 효과는 기본적으로 부작용(API 요청)을 수행하는 데 쓰인다.분명히 useEffect 함수에서 API 요청을 보낼 것입니다.fetch
APIsetStatus(received)
에 도착하면 저희 단추의 표시는setDisplay(" ")
로 전환합니다.catch()
상태를 설정Error
;나는 이 문장이 네가 갈고리의 기본 개념을 이해하는 데 도움을 줄 수 있기를 바란다😄.
갈고리에 대한 내용도 많으니 공식 서류도 확인해 주세요.
Reference
이 문제에 관하여(사용 상태 및 사용 효과(&U)⚛), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/easyvipin/usestate-useeffect-7e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)