- 캐로셀에 문제 랜덤으로 넣기 - map 이용
-
pure function, 순수 함수 : 똑같은 걸 넣으면, 똑같은 게 나오는 예측 가능한 함수! 예)map
-
side effect, 부수 효과 : 값이 변하는 것도 부수 효과 중에 하나
- 무작위 -> seed로 해결
- 기존의 값을 변형하는 것 -> 불변과 복사
- 외부에 입출력을 하는 것 -> 입출력과 핵심 로직의 분리...
-
리로드와 리렌더의 차이
-
함수는 계획이다!
-
useEffect(shuffleProblems, []) ^ 콜백 함수 ^ 의존성 배열
-
useEffect() : 처음 딱 한번만 실행된다. dependency array(의존성 배열)이 바뀔 때에만 실행해준다!
-
shallow copy 와 deep copy
- 깊은 내부까지 바뀌지 않게 하려면 깊은 복사를 해야한다. 예) structuredClone(array)
- 하지만... 순서 같은 거만 바꿀 거라면. 얕은 복사로도 충분 예) '[...array]', Array.from(array)
-
useRef
- 값이 변해도 rerender를 하고 싶지 않을 때~
-
useRef와 useState 차이
-
값을 바꾸지 않고, 새 값을 만드는 방식... -> 이게 useRef에요 useState에요?
- 기존 값을 불변(immutable)으로 처리한다~
- 물론 값을 바꾸더라도... 어떤 함수 안에서만 처리되서, 밖에서는 모른다면!
- 이 부수효과는 "관측할 수 없다"