Javascript axios检索到的数据上的钩子调用无效

Javascript axios检索到的数据上的钩子调用无效,javascript,reactjs,django,Javascript,Reactjs,Django,我试图从中检索JSON数据,然后更新功能组件中的状态。尽管代码看起来不错,但我还是收到一个错误,说它是一个无效的钩子调用 在react文档中,它说我可能在同一个文件夹中有2个不同的react应用程序,但是我用他们给出的命令检查了它,只有1个。然而,我在django服务器上运行这个程序,在不同的django应用程序中有一个不同的react应用程序(所以在一个完全不同的文件夹中) const-App=()=>{ const[posts,setPosts]=useState([]); useffect

我试图从中检索JSON数据,然后更新功能组件中的状态。尽管代码看起来不错,但我还是收到一个错误,说它是一个无效的钩子调用

在react文档中,它说我可能在同一个文件夹中有2个不同的react应用程序,但是我用他们给出的命令检查了它,只有1个。然而,我在django服务器上运行这个程序,在不同的django应用程序中有一个不同的react应用程序(所以在一个完全不同的文件夹中)

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