작성
·
69
0
안녕하세요.
강의 넘넘 잘 듣고 있습니다.
이번 강의 따라하다가 이상한 부분이 있어서 질문 드립니다.
기존에 사용하던 axios 호출 방식은 이상없이 잘 작동했었는데
이번에 컴포저블로 변경하면서 동일한 결과가 나오지 않습니다.
useAxios에서 응답을 로그로 찍어보면 아래와 같이 Proxy(object)라는게 달라 붙습니다.
이녀석을 해당 page에서 전달받아서 로그를 찍어보면 아래와 같이 RefImpl이라는게 달라 붙습니다.
저런것들이 달라 붙으면서 안에 data를 사용하려고 하면 undefined로 뜨고 가져오질 못하고 있습니다.
참고로 저는 별도의 api 서버를 구축하여 강의를 따라하고 있습니다.
무엇이 문제일까요?
어떻게 해결 할 수 있을까요?
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
useAxios 컴포저블을 구현하면서 발생하는 문제를 설명해 주셨네요. 이 문제는 Vue의 반응형 시스템에서 발생하는 일반적인 상황일 수 있습니다. 먼저, RefImpl이라는 것은 Vue 3에서 반응성을 기본 제공하는 컴포지션 API 사용 시 ref로 감싸진 객체라는 것을 의미합니다.
Proxy(Object)와 RefImpl:
데이터 접근 방법:
.value
를 활용해야 합니다. 예를 들어, axiosData.value
와 같이 접근해야 데이터를 얻을 수 있습니다.데이터 undefined 문제 해결:
.value
가 빠졌거나, 해당 데이터가 아직 로딩 중이라서 그럴 수 있습니다.console.log
로 매 단계의 상태를 확인하여 문제 지점을 파악할 수 있습니다.관련된 질문을 통해 더 자세히 알아보세요:
- useAxios에서 Proxy 객체와 RefImpl의 처리: useAxios 사용 시 this가 undefined로 나오는 경우의 해결책이며, RefImpl을 적절히 관리하는 방법에 대해 설명되어 있습니다.
- ref와 computed의 차이와 사용법: ref와 computed의 차이를 이해하고, 값 접근 시 어떤 점을 주의해야 하는지 도움을 받을 수 있습니다.
.value
를 사용하세요.저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
.value를 붙여도 소용이 없어요
반응형 상태로 선언하니 proxy object가 되네요.
왜 강의랑 다르게 되는걸까요?
axios 버전 문제일까요?
어떻게 해결 할 수 있을까요?
짐코딩님 도와주세요