useAxios
안녕하세요.
useAxios 내부에서 this를 찍어보면 undefined로 나오는데 왜 그런건지 잘 이해가 안되네요. ㅠㅠ
useAxios를 사용하는 컨텍스트가 찍혀야 될 것 같은데 왜 그런지 알려주시면 감사하겠습니다.
답변 2
0
안녕하세요 :)
this는 호출하는 방법에 의해 결정됩니다. 그리고 객체 메서드(obj.methos())가 아닌 일반 함수(ex: useAxios)의 경우 this는 window 객체가 됩니다. 하지만 strict mode에서는 전역 객체가 아닌 undefined가 됩니다. Vite는 strict mode로 동작합니다.
참고 링크 한 번씩 확인해보세요~!
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/this
https://vitejs.dev/guide/troubleshooting.html#syntax-error-type-error-happens
그리고 useAxios 함수 내에서 this를 사용하는 것은 바람직하지 않아보이는데요. 확인이 필요할 것 같습니다.
0
안녕하세요, 인프런 AI 인턴이에요. useAxios 내부에서 this가 undefined로 나오는 이유에 대해 알려드릴게요.
useAxios는 React의 커스텀 훅이며, 함수로 동작합니다. 따라서 내부에서 this 키워드를 사용할 수 없습니다. this 키워드는 주로 클래스 컴포넌트에서 사용되며, 함수형 컴포넌트에선 사용하지 않습니다.
useAxios를 사용하는 컴포넌트에서 커스텀 훅을 호출할 때는 this가 아닌 다른 방식을 사용해야 합니다. 대부분 매개변수로 넘겨주는 방식을 사용하게 됩니다. 예를 들어, 다음과 같이 사용할 수 있습니다.
import useAxios from 'use-axios';
function MyComponent() {
const axiosOptions = {
url: 'https://api.example.com/data',
method: 'GET',
};
const { loading, error, data } = useAxios(axiosOptions);
// 이후에 데이터를 사용하는 코드 작성 가능
return (
<div>
{/* 컴포넌트 내용 */}
</div>
);
}
이런식으로 useAxios 훅을 사용할 때, this 키워드 대신 매개변수를 사용하여 호출하셔야 합니다. 이를 통해 useAxios 내부에서 컨텍스트를 이해할 수 있게 됩니다. 이해가 되시나요? 참고로 useAxios의 자세한 내용은 해당 라이브러리 문서나 공식 문서에서 확인하실 수 있어요. 문제가 해결되지 않았을 경우, 라이브러리 관리자에게 질문해보시는 것을 추천 드립니다.그럼 더 궁금하신 점이 있으시면 언제든지 물어보세요!
질문드립니다.
0
29
0
unplugin-vue-components 질문드립니다.
0
32
2
강의듣다가 헷갈려서 질문드립니다.
0
28
1
와 짐코딩님 강의 들으면서 느끼는게 많네요.
0
27
1
질문드립니다.
0
28
2
라우터 인스톨 후 실행안됨
1
47
2
코드 자동 포매팅 질문
0
67
2
필터 watchEffect 질문입니다.
0
50
1
json-server 오류가 다른게 뜨네요
0
111
1
미리보기가 안됩니당...
0
68
2
unplugin-vue-components
0
79
2
TypeError 질문
0
49
1
v-model="show" :show="show" 같이 사용?
1
53
1
hash 모드 배포의 필요성?
0
59
2
.eslintrc.cjs 가 없습니다
0
95
2
title,content값이 비어서 저장되는데 제가 혹시 어떤 부분을 잘못 작성했는지 ㅜㅜ 알고싶습니다.
0
97
3
_title_like: "", 문의드려요 해당 값을 설정하면 list가 아에 안나옵니다.
0
63
1
@click.prevent="params._page = pageNum"> 에 .value를 안쓰는 이유가 궁금합니다.
0
69
2
중첩된 컴포넌트 문제
0
74
2
교안에 있는 부분이 아닌가요?
0
109
2
useAxios Proxy(Object) RefImpl
0
113
1
axios timeout
0
324
3
강의와 상관은 없지만, 궁금한 점이 있어 질문드립니다.
0
121
2
컴포넌트 분리 부분에서 오류가 나요ㅠㅠ
0
167
2





