작성
·
19
0
function create(baseURL, options) {
const instance = axios.create(
Object.assign({
// baseURL: baseURL,
baseURL, // key 와 값이 같으면 생략 가능
}),
options,
);
return instance;
}
제가 사용한 코드입니다.(강의 내용 그대로 담았습니다. 주석 빼고 보면 강의 시 사용한 코드와 동일합니다.
제가 궁금한 것은,
인터넷으로 관련 문법을 찾아 본 결과 Object.assign(A,B,C)같은 형식으로 하여, A,B,C 각각의 객체를 merge한다고 알고 있는데,
강의에서는 Object.assign({baseURL}),options
으로 options객체를 object.assign 함수 바깥에 위치하더라구요?
이러면 아무 의미 없는 코드가 되어 버리는것 아닌가요?
Object.assign({baseURL,},options)를 해야 되는거 같은데,
제가 놓친 부분이 있는걸까요?
(코딩이 전공이 아니라 제가 잘 모르는 걸수도 있습니다. 알려주시면 감사하겠습니다)
답변 1
0
좋은 지적 감사합니다! 확인해보니 제가 실수했네요.
axios.create()
는 하나의 config 객체만 받는데, 저는 두 개의 인자를 전달했습니다.
올바른 코드는 Object.assign({baseURL}, options)
또는 {baseURL, ...options}
입니다.
설명란에 정정하여 업데이트하겠습니다.
// 방법 1: Object.assign 사용
const instance = axios.create(
Object.assign({baseURL}, options) // 하나의 합쳐진 객체
);
// 방법 2: 스프레드 연산자 사용 (더 권장)
const instance = axios.create({
baseURL,
...options
});