21.4.5 강의 1, 2회독 완료
21.4.7 강의 2, 2회독 완료
21.4.8 강의 3, 2회독 완료
21.4.9 강의 4,5 2회독 완료
21.4.13 강의 6 1회독 완료
21.4.29 중간고사를 보고 와서 많이 잊어버렸습니다.
이걸 기회로 제가 따로 react를 공부하고 나서 다시 처음부터 돌려보겠습니다.
지금 이 강의는 제게 어렵다고 생각되네요
집합으로 예시를 들어보겠습니다
A = { 1, 2, 3}
B = { 1, 2, 3, 4, 5}
위와 같은 집합에서 A는 B에 포함되어 있습니다.
A라는 집합에서 this를 사용하면, this는 A 자체를 가리킵니다.
하지만 A가 끝나자마자 .bind(this)를 사용하면 여기서 this는 A를 포함하고 있는 객체(가장 가까운 부모객체)를 가리킵니다.
즉, A.bind(this)를 사용한다면, A함수 내에서 사용하는 this는 B를 가리키게 되는 것이죠.
함수 구조상으로 볼 때, 부모를 가리킨다고 보면 편할것같습니다 ^^
<!--여기부터는 완전 추측성 글입니다-->
만약, 자신과 가장 가까운 부모 객체가 아니라 다른 조상 객체를 함수에 bind 할 수 있는 방법이 없다면,
React로 웹을 구성할 때는 무조건 2단구조로 가야할 것 같습니다.
집합을 예시를 들어보겠습니다.
A = {1}
B = {1, 2}
C = {1, 2, 3}
만약 이런 구조가 있는데, A/B/C를 하나의 js 파일에서 처리하게 된다면, A에서 C의 state를 변경하기는 어렵습니다.
A함수에서 .bind(this)를 통해 C의 객체를 불러올 수 없기 때문이죠.
이런 경우에는, 2개의 js파일을 만들어야 할 것 같습니다.
1번 파일은 A/B
2번 파일은 B/C
이런 방식으로 가서, A가 B의 state를 변경하고, B가 C의 state를 변경하여 최종적으로 state 변경이 이루어지고, 이에 따라 함수가 호출되도록 구조를 설계해야하지 않을까 싶습니다.
안녕하세요 수업 잘 보고 있습니다. 강의 1에서 변수 설정 할 때 언더바를 사용하셨는데 그냥 내부적으로 사용하기 위해 선언한 것일뿐인가요?
근데 제가 저렇게 변수를 설정하니까 에러가 떠서 일반 변수로 설정했는데 왜 이런 에러가 뜨는걸까요?
Expected an assignment or function call and instead saw an expression no-unused-expressions
egoing님 리액트 강의 정말 잘 듣고 있습니다 늘 좋은강의 감사합니다!
공부하다가 질문이 생겨 댓글을 남겨요.
1. bind의 사용법이 .bind(bind하고싶은 객체)라면, bind(this)를 했을 때 어떻게 맥락상 this가 App 객체를 가리키게 되나요?? 왜 this만 넣어줘도 App을 this로 받을 수 있는지 이해가 잘 안갑니다ㅠ
2. element에 이벤트를 등록할 때, 자바스크립트에서는 inline방법(onClick과 같은)보다 addEventListner가 가장 이상적이라고 알고있는데 리액트에서는 다 그냥 onClick하면 리액트가 알아서 적절하게 해석을 하나요? 별로 고민하지 않아도 되는 문제인지 궁금합니다.
3. 여러개의 다른 Component에 이름만 같고(onChangePage) 내용은 다른 함수를 사용하고 있는데... 이건 각 component에서의 메소드로 약간 지역변수같다고 이해하면 되나요? 그래서 같은이름이라도 충돌되지 않고 자유롭게 사용이 가능한건가요??
복습 중에 궁금한 것이 하나 생겨서 여쭤봅니다^^ onChangePage 함수를 이벤트를 통해 실행시키는 onClick 함수에서는 e.preventDefault()를 해주는데, 함수 onChangePage를 정의할 때는 왜 e.prenventDefault()를 하지 않나요?
이벤트를 실행할 때 페이지 리로드가 되기 때문에, state만 변경시켜주는 onChangePage는 e.preventDefault()를 해줄 필요가 없어서 그런게 맞을까요?