less than 1 minute read

오늘 배운 것 & 한 것


1. LTC

코드가 그냥 똑같은데 내 코드는 안되길래 복사한 다음 내부는 내 코드로 바꿨더니 무려 동작하더라. 결국 클래스 함수 선언과 바인딩 문제였다! 기존 내 코드는 아래와 같이 해놓고 prop으로 함수를 전달했다.

	handleInputChange (e, type) {
		...
	};

	render = () => {
		return (
			<LoginForm 
				handleInputChange={this.handleInputChange}
        // ...
				/>
		)
	}

그런데 계속 'this' is undefined 라는 에러가 뜨길래 도대체 왜인가 하고 알렉스님이 만든 onChangeHandler를 그대로 붙여다가 써봤는데 잘 되었다!! 결국 아래와 같이 선언부를 화살표 함수(공식 단어. ref 1)로 선언해야 하는 것이었다!!

  • 한것
  1. 로그인 폼 컴포넌트 생성
  2. 로그인 페이지의 내용을 로그인 폼 컴포넌트로 옮김
  3. 로그인 페이지의 함수들을 object로 묶어서
  4. 로그인 폼 컴포넌트에 전달함.

dep

ref


Tags:

Categories:

Updated:

Comments