[TIL] 2020/10/07

yongkini ·2020년 10월 7일
0

Today I Learned

목록 보기
45/173

Today, I Learned


  • 왜 state를 수정할 때는 setState를 써줘야할까? : setState로 수정을 해줘야만 React가 수정 사항을 '인식'할 수 있고, 그에 따라 render를 할 수 있음. setState로 수정을 안해도 state값은 수정이 되지만, React가 인식하고 render하지는 않는다는 차이가 있음.
  • Class Component와 function Component의 차이 : 클래스 컴포넌트는 stateful함. 즉, state를 사용할 때 주로 씀. 클래스 컴포넌트에서만 lifecycle 메서드를 직접 쓸 수 있고, this.state형태로 쓸 수 있음. 이에 반해, 함수 컴포넌트는 stateLess함. 그래서 컴포넌트 트리에서 상위에 있고, state를 가지고 있다면, 클래스 컴포넌트로 만들 필요가 있음.
  • onClick 이벤트를 지정해줄 때는 onClick={} 중괄호 안에 함수를 bind형태로 넣어야함. 다시 말해서, 함수를 호출하면 안되고, 함수 그자체를 넣어야함. 호출하면, 렌더링 될 때마다 함수가 실행됨.
  • state 끌어올리기 구현 성공! => 나만의 표현으로 일종의 스파이 메서드(?)를 최상위 컴포넌트에 심어두고, 그 스파이를 자신에게 상속(props로)받아서 쓰는? 일단은 이렇게 생각해보자
  • lifeCycle method 종류 : componentDidMount, componentDidUpdate, componentWillUmount
  • state 끌어올리기를 쓸 때 함수를 props로 주기 위해서는 constructor부분에 클래스 내부에 정의한 함수를 bind(this)로 줘야지만, props로 전달해줬을 때 undefined가 뜨지 않음. 이는 클래스 내부에서는 this가 생성되는 객체로 바인딩되어있지 않기에 contructor 내부에서 this로 바인딩해줘야하기 때문임.
  • class component에서는 this.props 형태로 props를 받아서 쓸 수 있다. 이를 위해 constructor(props) {super(props)} 를 했던 것!
profile
완벽함 보다는 최선의 결과를 위해 끊임없이 노력하는 개발자

0개의 댓글