为什么要打印两次?当axios调用放在函数外部时,它只运行一次。
function App() {
axios('https://www.google.com/').then(x =>
console.log("fetched")
)
return (
<div className="App">
</div>
);
}
export default App;
在useEffect
钩子中执行。
function App() {
React.useEffect(() => {
axios('https://www.google.com/').then(x =>
console.log("fetched")
)
}, [])
return (
<div className="App">
</div>
);
}
export default App;
如果你想让一个调用在组件渲染时只运行一次,你应该把它放在一个useEffect中。
useEffect(() => {
axios('https://www.google.com/').then(x =>
console.log("fetched")
);
},[]);