Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 当我更新状态时,结果不会更新,直到我使用useEffect钩子刷新页面_Reactjs - Fatal编程技术网

Reactjs 当我更新状态时,结果不会更新,直到我使用useEffect钩子刷新页面

Reactjs 当我更新状态时,结果不会更新,直到我使用useEffect钩子刷新页面,reactjs,Reactjs,我正在使用academy web应用程序的仪表板。在dashboard中,每当我更新或添加课程时,状态都会更新,但只会导致界面更新,直到我刷新页面为止 const [courses, setCourses] = useState([]); async function getCoursesServer() { const courses = await getCourses(); setCourses(courses); } useEffect(() =&

我正在使用academy web应用程序的仪表板。在dashboard中,每当我更新或添加课程时,状态都会更新,但只会导致界面更新,直到我刷新页面为止

const [courses, setCourses] = useState([]);

  async function getCoursesServer() {
      const courses = await getCourses();
      setCourses(courses);
  }

  useEffect(() => {
    getCoursesServer();
  }, []);

但是如果我不使用dependency,那么就会出现关于内存泄漏的错误。

我猜您在“仪表板”中添加课程时正在改变数组

更新课程时设置新数组

所以,在你的仪表板上,像

setCourses([…courses,newItem])