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])
相关推荐
SameX1 分钟前
HarmonyOS Next自定义枚举与标准库的协同:Option与Result
前端
用户5806139393002 分钟前
深度解析:解决大型 Git 仓库克隆失败的完整指南
前端
白瓷梅子汤2 分钟前
跟着官方示例学习 @tanStack-table --- Column Ordering
前端·react.js
我想说一句3 分钟前
React组件化开发实战:从"待办事项"看前端乐高搭建术
前端·javascript·react.js
古夕4 分钟前
Promise 解决过程(Promise Resolution Procedure)详解
前端·javascript
spionbo5 分钟前
Vue 自定义进度条实现方法与应用场景解析
前端·面试
中微子5 分钟前
一起来学习React哲学,理解数据驱动的现代框架
前端
梨子同志7 分钟前
ES6~ES13 新特性
前端·javascript
Cache技术分享13 分钟前
99. Java 继承(Inheritance)
前端·后端
SleepyZone22 分钟前
Cline 源码浅析 - 从输入到输出
前端·ai编程·cline