Axios post不是函数



调用axios时出现错误。[(0, _dbExpress.default)(…).post不是一个函数]

const signup = dispatch => async ({email, password, username}) => {
try {
const response = await dbExpress().post('/signup', {email, password, username});
await AsyncStorage.setItem('token', response.data.token);
dispatch({type: 'signin', payload: response.data.token});
navigate('mainFlow');
} catch (error) {
console.log(error.message);
dispatch({type: 'add_error', payload: 'Something went wrong with sign up'});
}
};

这里是axios拦截器

dbExpress.interceptors.request.use(
async (config) => {
const token = await AsyncStorage.getItem('token');
console.log("*** inside api")
if (token) {
console.log("*** token exist")
config.headers.Authorization = `Bearer ${token}`;
}
return config;
},
(err)=>{
console.log("*** reject " +  err.message);
return Promise.reject(err);
}
);
export default dbExpress;

服务器工作完美,当我使用邮差测试,所以它不能是服务器端问题。

expo和axios的版本如下:

"axios": "^0.27.2",
"expo": "~45.0.0",

我不确定在哪里导致错误,因为这些代码在我的其他项目上工作(相同版本的expo和axios)。如果有人知道这个问题,请帮助!!谢谢!

const response = await dbExpress().post('/signup', {email, password, username});

const response = dbExpress.post('/signup', {email, password, username});

据我们所知,你的dbeexpress导出一个axios实例,而不是一个promise