setState()
함수를 사용해야 한다.Hook이란?
Hook은 React 16.8에 새로 추가된 기능입니다.
Hook은 class를 작성하지 않고도 state와 다른 React의 기능들을 사용할 수 있게 해줍니다.
import {useState} from 'react';
// const [state변수명, state변경함수명] = useState(초기값);
const [state, setState] = useState(initialState);
{useState}
를 react
에서 import
해준다.useState
에 인자(initialState
)로 넘겨준다.// 함수 내에서는 state변수명으로 접근
state
// jsx에서는 {state변수명}으로 접근
{state}
// setState(변경할값 또는 함수)
setState(value);
setState()
함수를 호출하고 변경하려는 값이나 함수를 인자로 넘겨준다.constructor(props) {
super(props);
this.state = {
// state변수명: 초기값
myState: initialState
}
}
constructor
내부에서 this.state
에 원하는 state 할당state = {
// state변수명: 초기값
myState: initialState
}
state
객체 안에 원하는 state 할당// 함수 내에서는 this.state.state변수명으로 접근
this.state.myState
// jsx에서는 {this.state.state변수명}으로 접근
{this.state.myState}
this.state.state변수명
으로 해당 state에 접근할 수 있다.// this.setState({state변수명: 변경할데이터})
this.setState({ myState: newMyState });
this.setState()
함수를 호출하고 변경할 state 객체를 인자로 넘겨준다.setState()
함수를 통해 변경해야 한다.setState()
함수에 인자로 넘겨준다.