当前位置: 首页 > 知识库问答 >
问题:

不能在顶层调用React Hook“usestate”

堵景天
2023-03-14
import React, {useState, useEffect} from "react";

import Axios from "axios";

const [collegeList, setcollegeList]=useState([]);
useEffect(()=>{
    Axios.get("http://localhost:3001/api/get").then((response)=>{
        setcollegeList(response.data);
    });
}, []);

CollegeList = collegeList;
export default CollegeList;

共有1个答案

成浩漫
2023-03-14

必须在react组件中使用react钩子。我可以向你推荐两种方法来解决这个问题。

首先)在组件中执行

import React, {useState, useEffect} from "react";
import Axios from "axios";

function CollegeListComponent() {
const [collegeList, setcollegeList]=useState([]);

useEffect(()=>{
    Axios.get("http://localhost:3001/api/get").then((response)=>{
        setcollegeList(response.data);
    });
}, []);

return "YOUR VIEW ELEMENTS"

第二)用它作为反应钩

import React, {useState, useEffect} from "react";
import Axios from "axios";

// making a custom react hook like this
function useCollegeList() {
   const [collegeList, setcollegeList]=useState([]);

   useEffect(()=>{
       Axios.get("http://localhost:3001/api/get").then((response)=>{
           setcollegeList(response.data);
       });
   }, []);

return { collegeList }
 类似资料:
  • 我是反应的初学者。我试图将我的数据库的值从一个文件发送到另一个使用反应挂钩,并得到以下错误有人能帮我吗? 第5:41行:不能在顶层调用React钩子“useState”。必须在React函数组件或自定义React钩子函数React钩子/钩子规则代码中调用React钩子:

  • 我在读《新概念》。我遇到了一条规则,上面说。在这里,他们提供了解释链接。 我明白他们想说什么,但我不能得到确切的原因,比如为什么我不能在if-else块中使用useffect? 还有一种说法 useState每次都是不同的调用,每次都可以返回新的“[state,setState]”,所以这里有什么困难知道谁调用了哪个useState?

  • 我已经复习了/,在复习了几篇文章之后,我决定自己测试一下。然而,我似乎无法理解为什么这不起作用: 控制台输出以下内容(节点V8.6.0): >外:“对象承诺” >内部:嘿那里 为什么函数内部的日志消息会在之后执行?我认为创建/的原因是为了使用异步任务执行同步执行。 有没有一种方法可以使用函数内部返回的值,而不用后面的?

  • 我有节点14.13.0,并且即使使用,top-level wait也不能工作。 我做错了什么?

  • 顶层视图组件。 该组件的实例(而且是单例),是 RN UI 树的根节点的兄弟节点,因为 RN 没有 fixed 定位,所以通过 Topview 单例可以实现 fixed 定位功能。 Modal、SlideModal 等弹框类组件,底层都依赖该组件,支持全屏、半屏、多个弹框。 Usage 全部引入 import { TopviewGetInstance } from 'beeshell'; 按需引