아시다시피, .bind()
기능 에 대한 지름길에 대한 제안이 있으므로 다음과 같이 작성할 수 있습니다.
::this.handleStuff
그리고 es5에서와 같이 작동합니다 :
this.handleStuff.bind(this)
내 질문은 :이 방법으로 인수를 전달할 수 있습니까?
위에서 언급 한 바로 가기로 이것을 작성하는 방법을 의미합니다.
this.handleStuff.bind(this, 'stuff')
React에서 매우 일반적인 패턴이므로 조금 짧게 만드는 것이 좋습니다.
답변
아니오 결합 연산자 ( 사양 제안은 ) 두 가지 유형이있다 :
-
분석법 추출
::obj.method ≡ obj.method.bind(obj)
-
“가상 메소드”호출
obj::function ≡ function.bind(obj) obj::function(…) ≡ function.call(obj, …)
그들 중 어느 것도 부분적 적용을 특징으로하지 않는다 . 원하는 것을 위해서는 화살표 기능을 사용해야합니다.
(...args) => this.handleStuff('stuff', ...args) ≡ this.handleStuff.bind(this, 'stuff')