[TIL] 내일배움캠프 React 과정 2024.05.30

김형빈·2024년 5월 30일
0

내일배움캠프

목록 보기
31/81

오늘의 한 일

  • debouncing 왜 안되는지 물어보기
  • 토스트 앱 구현 (챌린지반 과제)
  • 지출 관리 앱
    • contextAPI를 활용한 모달창 구현

custom Debouncing 만들기

문제

  const customDebounce = (func, time = 30000) => {
    let timer;
    const debounce = () => {
      clearTimeout(timer);
      timer = setTimeout(() => func(), time);
    };

    return debounce;
  };

  const debounceMemoInput = customDebounce((value) => {
    dispatch({
      type: UPDATE_MEMO,
      payload: value,
    });
  }, 350);

  const handleChange = ({ target }) => {
    debounceMemoInput(target.value);
  };
  • debounce 라이브러리를 활용할 때에는 동작이 잘 되었는데 customDebounce를 제작한 후에는 동작하지 않는다...
  • 함수를 return하다 보니 구조가 자꾸 헷갈린다.

문제해결

const debounce = (value) => {
      clearTimeout(timer);
      timer = setTimeout(() => func(value), time);
    };
  • debounceMemoInput = debounce이기 때문에 debounce에도 value를 props로 받을 필요가 있엇다.

오늘의 회고

오늘은 미뤄왔던 숙제인 팀원들과 소통하는 시간을 가졌다. 운이 좋게도(?) 전 팀원분들의 도움으로 팀이 된지 약 2주만에 처음으로 대화할 수 있었다. 덕분에 내일부터 시작될 팀프로젝트에 대한 부담감을 어느 정도 내려놓을 수 있었지만 역시 아직은 사람 대하는 기술이 부족하다는 것을 많이 느끼는 오늘이다.. 비록 코딩에 시간을 많이 쓰지는 못했지만 더 대단한 걸 해냈으니 나 자신을 칭찬하자!
profile
The secret of getting ahead is getting started.

0개의 댓글