웹 게임을 만들며 배우는 React

Bitnara Lee·2022년 4월 24일
0

리액트 컴포넌트 내부에서 onSubmit 등의 이벤트 핸들러를 화살표함수로 구현하는 이유 :
일반 함수형으로 표현하면 this는 보통 전역객체를 참조하기 때문.


function getNumbers(){
 console.log('getNumbers') // 밑에서 Lotto 컴포넌트가 계속 렌더링되기 때문에 계속 호출된다.
 ...계산 로직
}

const Lotto = () => {
  const [winNumbers, setWinNumbers] = useState(getNumbers())
  ...
  }

// 해결법
// useMemo를 이용해서 함수 결과값을 기억하도록!  
const Lotto = () => {
  const lottoNumbers = useMemo(()=> getNumbers(),[]) 
  const [winNumbers, setWinNumbers] = useState(lottoNumbers)
  ...
  }  
  
profile
Creative Developer

0개의 댓글