TIL (231130)

Jtiiin:K·2023년 11월 30일
1

내일배움캠프

목록 보기
45/85
post-thumbnail

오늘 한 일

알고리즘 코드카타
개인과제 진행


오늘 공부한 내용

✅ Custom Hooks

📍 https://velog.io/@jetiiin/Custom-Hooks

✅ charAt()

문자열에서 특정 인덱스에 위치하는 유니코드 단일문자를 반환

  • 예시
const sentence = 'Happy';
const index = 4;

console.log(sentence.charAt(index));
// 'y'

오류

✅ A case reducer on a non-draftable value must not return undefined

💥 initialState가 null을 포함한 원시값 등의 다룰 수 없는 값일 경우 오류가 발생

// 문제 코드
const initialState = false

// 해결
const initialState = {value: false}

✅ Effect callbacks are synchronous to prevent race conditions. Put the async function inside

💥 useEffect 내에서 비동기 함수를 처리하려고 했는데 오류가 났다
👉 useEffect는 아무것도 반환하지 않거나 clean up 함수를 반환해야 함

// 문제 코드
useEffect(() => {
  const fetchData = () => {
    //...
  }
  fetchData();
}, []);

// 해결
const fetchData = () => {
  // ...
}
 
useEffect(() => {
  fetchData();
}, []);

✅ [Immer] An immer producer returned a new value and modified its draft. Either return a new value or modify the draft.

💥 redux-toolkit 에서 state 변경 시 새 값을 반환하면서 원본도 수정했기 때문에 발생하는 에러
💡 redux-toolkit의 immer사용 규칙을 보면 원본을 변경하던가 새 값을 리턴하던가 둘 중 하나만 해야함


느낀점

개인과제 그냥 ㄱㄱㄱㄱㄱㄱㄱ 어렵다
진도를 못나가겠다ㅎㅎ

참고
https://velog.io/@ohy9205/redux-toolkit-Immer-An-immer-producer-returned-a-new-value-and-modified-its-draft.-Either-return-a-new-value-or-modify-the-draft

profile
호기심 많은 귀차니즘의 공부 일기

0개의 댓글