javascript - React의 클릭 이벤트 수신 화살표 기능에 문제가 있습니까?
滿天的星座
滿天的星座 2017-05-19 10:31:08
0
3
1047

개요

프론트엔드를 방금 배웠는데 React에서 이벤트 모니터링 작성법에 대해 궁금한 점이 있습니다.
제가 아는 작성법은 다음과 같습니다

  • 생성자에 바인드 함수를 전달하세요

  • 함수를 정의할 때 shear 함수 정의를 사용하세요

으아아아
  • 태그

에서 머리 자르기 기능을 사용해 보세요. 으아아아

질문

제3의 글쓰기 방식이 이해가 안가네요

으아아아

저는 개인적으로 화살표 함수와 바인드가 같은 것을 작성하는 방식이 달라야 한다고 생각합니다. 하지만 데모를 작성했어요

으아아아

getName3, 4, 5에서 getName5가 반환하는 내용이 내부에 없나요? ?
화살표 기능과 바인드에 대한 저의 오해가 문제일까요?
선배님들의 지도를 받아보시길 바랍니다

滿天的星座
滿天的星座

모든 응답(3)
phpcn_u1582

5의 화살표 함수는 func를 호출할 때 this를 바인딩하지 않으므로 func의 this는 window를 가리킵니다
그냥 this로 변경하세요

으아악

또는 다음과 같이:

으아악
曾经蜡笔没有小新

새로 정의된 함수에는 자체 this 값이 있습니다. 브라우저의 비엄격 모드에서는 this가 창을 가리킵니다. 함수가 객체 메서드로 호출되면 this는 호출된 객체를 가리킵니다. 예제에서는 getName5()中的函数func, 并非作为obj 개체 메서드가 호출되므로 this가 창을 가리킵니다. 화살표 기능과 관련이 없습니다.

으아악
为情所困

@Xeira 말이 맞습니다. 화살표 함수가 정의되면 어휘 범위 내의 이 함수는 외부 어휘 범위에 바인딩되는 반면 일반 함수는 호출해야 할 때 구체적으로 바인딩됩니다. 이에 대한 설명은 You-Dont-Know-JS에서 읽어보는 것이 좋습니다. 매우 명확합니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿