【发布时间】:2020-12-03 00:30:48
【问题描述】:
我有一个 React 应用程序,想将 Axios 库导入 React 组件。但是如果我尝试在组件内部使用 Axios,它是未定义的。我的意思是这种风格:
import axios from 'axios'
我必须写:
window.axios = require('axios').default;
然后调用window.axios。这是它工作的唯一方式。是否可以从 axios 调用中丢弃窗口?
React 组件是类风格:
class Login extends React.Component
{
constructor(props)
{
super(props)
this.state = {
email: '',
password: '',
errors: []
}
}
...
sendData(e)
{
e.preventDefault();
let formData = new FormData();
formData.set('email', this.state.email);
formData.set('password', this.state.password);
// This is nasty
window.axios({
...
}
})
.then(response => {
...
})
.catch(response => {
...
});
}
render() {
return (
...
);
}
}
所以问题是如何摆脱调用 axios 的窗口调用。谢谢。
【问题讨论】:
-
请将package.json添加到您的问题中,以便我们知道正确添加了axios以及axios的版本。谢谢。
-
axios 添加正确。它工作正常。问题是我导入 axios 的文件。它是父文件,应该是组件文件。
标签: reactjs import axios components