Javascript axios检索到的数据上的钩子调用无效
我试图从中检索JSON数据,然后更新功能组件中的状态。尽管代码看起来不错,但我还是收到一个错误,说它是一个无效的钩子调用 在react文档中,它说我可能在同一个文件夹中有2个不同的react应用程序,但是我用他们给出的命令检查了它,只有1个。然而,我在django服务器上运行这个程序,在不同的django应用程序中有一个不同的react应用程序(所以在一个完全不同的文件夹中)Javascript axios检索到的数据上的钩子调用无效,javascript,reactjs,django,Javascript,Reactjs,Django,我试图从中检索JSON数据,然后更新功能组件中的状态。尽管代码看起来不错,但我还是收到一个错误,说它是一个无效的钩子调用 在react文档中,它说我可能在同一个文件夹中有2个不同的react应用程序,但是我用他们给出的命令检查了它,只有1个。然而,我在django服务器上运行这个程序,在不同的django应用程序中有一个不同的react应用程序(所以在一个完全不同的文件夹中) const-App=()=>{ const[posts,setPosts]=useState([]); useffect
const-App=()=>{
const[posts,setPosts]=useState([]);
useffect(()=>{
让url=”https://jsonplaceholder.typicode.com/posts";
get(url)。然后(res=>{
console.log(res.data);
//代码在这里崩溃,表示这是一个无效的钩子调用
使用状态(资源数据);
}).catch(err=>console.log(err));
}, []);
返回(
这只是一个占位符。
);
}
我觉得这可能与django项目中的另一个react应用程序有关,但如果有人能看到我看不到的东西,我将非常感谢您的帮助
编辑
我意识到我试图在useEffect钩子中调用useState(),而我本应该使用函数中已经定义的setPosts函数
它在那里崩溃,因为您没有正确使用状态挂钩。您应该调用setPosts
,而不是useState
。看
它在那里崩溃,因为您没有正确使用状态挂钩。您应该调用
setPosts
,而不是useState
。看。哦,天哪,这是一个多么愚蠢的错误,这是漫长的一天xD哦,天哪,这是一个多么愚蠢的错误,这是漫长的一天xD
const App = () => {
const [posts, setPosts] = useState([]);
useEffect(() => {
let url = "https://jsonplaceholder.typicode.com/posts";
axios.get(url).then(res => {
console.log(res.data);
// The code crashes here saying that it is an invalid hook call
useState(res.data);
}).catch(err => console.log(err));
}, []);
return (
<div>
This is just a place holder.
</div>
);
}
// The code crashes here saying that it is an invalid hook call