리액트 v 16.8 이전에는 함수형 컴포넌트에서 state를 사용할 수 없었지만
리액트 v 16.8 부터는Hooks
을 사용해서, 사용할 수 있게 됬다.
setState
혹은 세터 함수
를 통해 수정한다.// 객체 다루기
const obj = { a: 1, b: 2 };
const nextObj = { ...obj, b: 2 };
// 배열 다루기
const array = [
{ id: 1, value: true },
{ id: 2, value: false },
];
let nextArray = array.concat({ id: 4 }); // 새 항목 추가
nextArray.filter(item => item.id !== 2); // id가 2인 항목 제거
nextArray.map(item.id === 1 ? {...item, value: false } : item ); // id가 1인 항목 value: false로 지정.
cf. ...obj
같은 방식을 spread
연산자라고 한다
[참고] 리액트 다루는 기술 p.115