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])
相关推荐
Beginner x_u3 分钟前
Vue 事件机制全面解析:原生事件、自定义事件与 DOM 冒泡完全讲透
前端·javascript·vue.js·dom
Emma_Maria3 分钟前
关于vant-ui-vue 的datepicker 时间选择错乱问题的处理
前端·vue.js·ui
Dabei8 分钟前
Android 语音助手简单实现与语音助手“执行任务”交流
android·前端
dongczlu10 分钟前
iOS 循环引用篇 菜鸟都能看懂
前端
Alsn8612 分钟前
26.IDEA 专业版中创建简单的 Web 项目并打包部署到本地Tomcat 9
前端·tomcat·intellij-idea
霍理迪13 分钟前
HTML行内块标签——img、表单、音视频标签
前端·html
小小前端_我自坚强14 分钟前
边缘函数 (Edge Functions)详解
前端
幼儿园技术家22 分钟前
Hydration Mismatch 原理详解:SSR 项目中最容易踩的坑
前端
June bug36 分钟前
【Vue】EACCES: permission denied 错误
前端·javascript·vue.js
陈随易38 分钟前
PostgreSQL v18发布,新增AIO uuidv7 OAuth等功能
前端·后端·程序员