React Hooks: 5분 안에 설명하는 useState
8109 단어 reacttutorialjavascriptreplit
후크 전에
useState와 같은 React Hooks 이전에는 React에서 상태를 생성/관리하는 방식이 다음과 같은 클래스 구성 요소를 통해 이루어졌습니다.
class Example extends React.Component {
constructor(props) {
super(props);
// creating our state object here
this.state = {
count: 0
};
// -- We access count below via 'this.state.count' --
// -- We update/change count via 'this.setState' --
}
render() {
return (
<div>
<p>You clicked {this.state.count} times</p>
<button onClick={() => this.setState({ count: this.state.count + 1 })}>
Click Me
</button>
</div>
);
}
}
반응 후크 후
React Hooks의 도입으로 우리는 더 이상 이런 식으로 상태를 생성/관리할 필요가 없습니다. 우리는 기능적 구성 요소와 useState React Hook을 사용할 수 있습니다.
참고: 후크는 클래스 구성 요소에서 작동하지 않습니다.
useState에 대해 특별히 특별한 것은 없습니다. 결국 우리가 하는 일은 다음과 같습니다.
useState — 첫 번째 항목은 상태 변수의 이름이고 두 번째 항목은 상태 변수를 업데이트하는 데 사용하는 함수의 이름입니다. 우리는 이것들의 이름을 우리가 원하는 대로 지정할 수 있습니다.
기능 구성 요소 + React Hook useState를 사용하여 위의 코드를 다시 만드는 방법은 다음과 같습니다.
// 1. Importing useState
import React, { useState } from 'react'
function App() {
// 2. Destructuring useState
// naming our: state variable 'count' & update function 'setCount'
let [count, setCount] = useState(0);
// 3. useState allows us to pass in the starting value, here it is 0
// below we are:
// - displaying count with {count}
// - updating count with setCount when the button is clicked (more info below code)
return (
<div className="App">
<p>You clicked {count} times</p>
<button onClick={() => setCount(prevCount => prevCount + 1)}>
Click Me
</button>
</div>
);
}
export default App;
때때로 React는 성능 향상을 위해 상태 업데이트를 "일괄 처리"합니다. 이 때문에 다음과 같이 단순히 상태를 업데이트하는 것은 이상적이지 않습니다.
<button onClick={() => setCount(count++}>
Click Me
</button>
React가 상태 업데이트를 "일괄 처리"하고 버튼 onClick이 위의 코드처럼 보이면 상태가 올바른 값으로 업데이트되지 않을 수 있습니다. 이에 대한 해결 방법은 레크리에이션 코드 스니펫에서 수행한 작업을 수행하는 것입니다.
<button onClick={() => setCount(prevCount => prevCount + 1)}>
Click Me
</button>
여기서 무슨 일이?
'count++'와 'prevCount ⇒ prevCount + 1'을 사용하는 것의 차이점은 trying it out yourself.로 더 쉽게 알 수 있습니다. replit으로 이동하여 버튼을 빠르게 클릭합니다. 'count++'를 사용하면 모든 항목이 등록되지 않는다는 것을 알 수 있습니다. 충분히 빠르게 클릭하고 있다면 한 번 클릭하지만 'prevCount ⇒ prevCount + 1'을 사용하면 모든 단일 클릭이 등록되었음을 알 수 있습니다. 따라서 카운트는 항상 정확합니다.
항상 그렇듯이 자세한 내용은 문서를 참조하세요.
State Hook
질문, 피드백이 필요하거나 연결/인사 👋가 필요한 경우 언제든지 내 소셜에 연락하세요.
Reference
이 문제에 관하여(React Hooks: 5분 안에 설명하는 useState), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/antdp425/react-hooks-usestate-explained-in-5-minutes-2aea텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)