useState는 한 컴포넌트에서 한번만 선언하고, 필요한 보든 state를 해당 useState안에 때려넣어 사용하는 방법이 있다.
조건부 렌더링
3항 연산자보다 단축평가 논리 계산법을 활용하면 좀 더 깔끔하다
{isSpecial && <b>*</b>}
props 값을 생략하면 {true} 로 받는다.
<Hello name="react" isSpecial >
이 경우, isSpecial={true} 와 동일하다.
state 직전값 활용하기(함수형 수정)
useState(3) 같이 단일 변수를 사용할 때는 아래와 같이 직전값을 쓸 수 있다.
const [number, setNumber] = useState(0);
const onIncreate = () -> {
setNumber(prevNumber => prevNumber + 1)
}
그러면 useState가 객체인 경우에는?
const [number, setNumber] = useState({value:0});
const onIncreate = () -> {
setNumber(prev => ({
...prev,
value: prev.value + 1
}))
}
const [myobj, setMyobj] = useState({ key1: 0, key2: 0 });
const {key1, key2} = myobj;
// 이후 myobj.key1 이 아닌 그냥 key1으로 사용할 수 있다