React useEffect



在发送请求后执行代码

useEffect(副作用函数,依赖项数组)

cpp 复制代码
import { useEffect, useState } from "react";

const URL =`http://geek.itheima.net/v1_0/channels`
function App() {
  // 创建状态数据
  const [list,setList] = useState([])
  const [count,setCount] = useState(0)

  useEffect(()=>{
    // 
    async function getList(){
      const res = await fetch(URL)
      const list = await res.json()
      console.log(list);
      setList(list.data.channels)
      console.log(`副作用函数执行`)
      

    }
    getList()
  })


 

  return (
    <div className="App">
      
      <ul>
        {list.map(item => <li key={item.id}>{item.name}</li>)}
      </ul>

      <button onClick={() => {setCount(count+1)}}>+{count}</button>
   
    </div>
  );
}

export default App;

当依赖项为空时,每一次请求和更新组件都会使得useEffect执行

有特定的依赖项

只有count作为依赖项

cpp 复制代码
 useEffect(()=>{
    // 
    async function getList(){
      const res = await fetch(URL)
      const list = await res.json()
      console.log(list);
      setList(list.data.channels)
      console.log(`副作用函数执行`)
      

    }
    getList()
  },[count])
相关推荐
Carry34520 小时前
React 与 Vue 开发差异——CSS 样式
前端
前端九哥20 小时前
我删光了项目里的 try-catch,老板:6
前端·vue.js
2301_7644413320 小时前
身份证校验工具
前端·python·1024程序员节
4Forsee21 小时前
【Android】View 事件分发机制与源码解析
android·java·前端
一 乐21 小时前
车辆管理|校园车辆信息|基于SprinBoot+vue的校园车辆管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·车辆管理
百锦再21 小时前
Python、Java与Go:AI大模型时代的语言抉择
java·前端·vue.js·人工智能·python·go·1024程序员节
IT_陈寒21 小时前
Vite 3.0终极提速指南:5个鲜为人知的配置技巧让构建效率翻倍
前端·人工智能·后端
菩提树下的凡夫1 天前
前端vue的开发流程
前端·javascript·vue.js
青山的青衫1 天前
【用homebrew配置nginx+配置前端项目与后端联调】Macbook M1(附一些homebrew操作)
运维·前端·nginx
二十雨辰1 天前
[作品集]-容易宝
java·开发语言·前端