有一个if条件
console.log
中的结果不打印任何内容,并显示在浏览器控制台上
TypeError: Cannot read property 'to' of undefined
我被告知需要在对象内部破坏对象
instance.interceptors.response.use(
(res) => {
const { pathname } = window.location;
const isRedirect = res.status === HTTP_TEMPORARY_REDIRECT;
const data = { isRedirect, data: res.data };
if (isRedirect) {
console.log(`pathname: ${pathname}`);
console.log(`isRedirect: ${isRedirect}`);
const { redirectDataSource: { to: redirectRoute, ...redirectData } }
const {
redirectDataSource: { to: redirectRoute, ...redirectData },
} = res.data.error || res.data;
console.log(`redirectRoute: ${redirectRoute}`);
console.log(`redirectDataSource: ${redirectDataSource}`);
}
return Promise.resolve(data);
},
...
答案 0 :(得分:1)
如果未定义,您需要为redirectDataSource
添加默认值
let res = {
data: {
error: undefined,
redirectDataSource: undefined
}
}
const {
redirectDataSource: {
to: redirectRoute,
} = {to: 'defaultValue'}
} = res.data.error || res.data;
console.log(redirectRoute)