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])
相关推荐
非优秀程序员30 分钟前
第10章 千团出世|《互联网产品恩仇录》
前端
非优秀程序员35 分钟前
第11章 小高在对面|《互联网产品恩仇录》
前端
非优秀程序员35 分钟前
第14章 只剩美团|《互联网产品恩仇录》
前端
非优秀程序员36 分钟前
第09章 老乡何必为难老乡|《互联网产品恩仇录》
前端
非优秀程序员1 小时前
第03章 三大门户,烽烟起于瀛海威|《互联网产品恩仇录》
前端
曦樂~5 小时前
【Web Development】02 CSS
前端·css
风骏时光牛马5 小时前
后端服务接口开发与数据逻辑处理
前端
东鹏特饮5 小时前
经典打砖块(Breakout)游戏
前端·css·css3
IT_陈寒5 小时前
Vite的HMR把我整不会了:一个生产环境的热更新坑
前端·人工智能·后端
Mh6 小时前
如何使用双缓冲优化视频切换
前端