• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

useMemo 질문이 있습니다!

21.10.26 11:31 작성 조회수 122

0

안녕하세요! 처음 hooks를 선언시에 useMemo로 저장된 구문을 활용하여 콘솔이 계속 찍히는 걸 막는 구문을 선언했었는데요.
const lottoNumbers = useMemo(() => getWinNumbers(), []);
  const [winNumbers, setWinNumbers] = useState(lottoNumbers);
 
onClickRedo구문에서 저장된 memo로 호출하는 것도 가능한것 같은데, 이 경우 winNumbers가 계속 같은 숫자로 콘솔에 찍힙니다!
혹시 useMemo로 선언한 함수를 구분해서 사용해야 하는 것인가요?
hooks 선언 구문에서만 사용해야 하는 것인가요?
const onClickRedo = useCallback(() => {
    console.log(winNumbers);
    setWinNumbers(lottoNumbers); //이렇게 쓰면 안되나요?
    setWinBalls([]);
    setBonus(null);
    setRedo(false);
    timeouts.current = [];
  }, [winNumbers])

답변 1

답변을 작성해보세요.

0

setWinNumbers(lottoNumbers)에서 lottoNumbers는 기존 로또 숫자입니다. 그러니까 변하는 게 없습니다.