반응형
ajax 콜백의 끝에서 .csu(이것)의 목적?
reactjs 튜토리얼에서, 어떤 목적을 가지고 있는가?.bind(this)
아약스 콜백의 끝에서?코드가 없으면 코드가 제대로 작동하는가?
data: JSON.stringify({text: text}),
success: function (data) {
this.setState({data: data});
}.bind(this),
확실히 그렇다.this
콜백 안에 있는 정확한 물체가 될 것이다.Function.prototype.bind()를 참조하십시오.
대응해야 할 대안은 다음과 같다.
myAjaxFunction: function(){
$.getJSON('/something', this.handleData);
},
handleData: function(data){
this.setState({data: data});
}
이것은 반응으로 구성 요소 메서드의 바인딩이 처리되기 때문에 작동한다.
원래 코드를 바인딩하지 않고 실행한 경우 다음과 같은 오류가 발생할 수 있음:TypeError: undefined is not a function
때문에this === window
콜백 중.
또는 엄격한 모드로:TypeError: Cannot read property 'setState' of undefined
, wherethis === undefined
콜백으로
을 갖는 목적.bind(this)
AJAX 콜백의 마지막에this
당신의 리액션 클래스와 관련이 있다.즉, 다음을 추가할 수 있다.
var self = this;
아약스 바깥에서도 똑같이 작동한다.다음 코드와 같음:
var self = this;
$.ajax({
.
.
data: JSON.stringify({text: text}),
success: function (data) {
self.setState({data: data});
},
.
.
});
참조URL: https://stackoverflow.com/questions/24285581/purpose-of-bindthis-at-end-of-ajax-callback
반응형
'IT이야기' 카테고리의 다른 글
기본 + Redex-perist 반응: 키(블랙리스트)를 무시하는 방법? (0) | 2022.03.14 |
---|---|
인코딩/디코딩의 차이점은? (0) | 2022.03.14 |
Vue의 글로벌 구성 요소(nuxt) (0) | 2022.03.14 |
ASP.NET Core 2.0 레이저 대 각도/반사/기타 (0) | 2022.03.14 |
기능에 전달된 스타일 속성 유형 (0) | 2022.03.14 |