상태가 변경될 때 리렌더링된다
1. useState(초기값) => [ state, setState ]
* 상태값 관리
const newArr = useState(초기값)
const state = newArr[0]
const setState = newArr[1]
const [ state, setState ] = useState(초기값)
setState(변경된 값)
2. useReducer()
* 어떤 경우에 상태가 어떻게 업데이트될 건지 관리
useReducer(함수, 초기값) => [ state, 함수를 실행시키는 함수]
const [ state, dispatch ] = useReducer(reducer, initialstate)
dispatch({
type: "DELETE_USER",
id: 10,
})
const users = [
{
id: 1,
name: "a",
age: 30,
active: false,
},
{},
]
function reducer(state, action){
switch(action.type){
case "USER_DELETE":
return state.filter(list=> list.id !== action.id);
case "USER_CREATE":
return state;
case "USER_TOGGLE":
return state;
default:
return state;
}
}
'개발이 좋아서 > React가 좋아서' 카테고리의 다른 글
react - rest(Representational State Transfer) (0) | 2022.07.05 |
---|---|
react - 파일 업로드 관리하기 (0) | 2022.07.04 |
react - 데이터 연동 (0) | 2022.07.01 |
react - Common JS (0) | 2022.06.30 |
react - 싱글페이지 애플리케이션(복습)(useState, useReducer, useContext) (0) | 2022.06.29 |