React useEffect使用

第一

export default function App() {

const [name,setname] = useState('huhu')

useEffect(()=>{

setname(name.substring(0,1).toUpperCase()+name.substring(1))

},[name])

//[name,age]//可以有多个参数

//带参数,第一次默认执行一次,第二次name更新也会执行

return (

<div>

app={name}

<button onClick={()=>{

setname('xiaoming')

}}>

click

</button>

</div>

)

}

第二

import React, { Component, useEffect } from 'react'

export default class App extends Component {

state = {

isCreate : true

}

render() {

return (

<div>

<button onClick={()=>{

this.setState({

isCreate:!this.state.isCreate

})

}}>点击</button>

{/* { this.state.isCreate?<Child />:'' } */}

{ this.state.isCreate && <Child /> }

</div>

)

}

}

function Child(props){

useEffect(()=>{

window.onresize = ()=>{

console.log('resize')

}

var timer = setInterval(() => {

console.log(1234)

}, 1000);

// 点击之后只执行一次

return()=>{

console.log('组件销毁')

window.onresize = null;

clearInterval(timer)

}

},[])

return <div>

child

</div>

}

相关推荐
超级无敌暴龙兽1 小时前
和我一起刷面试题呀
前端·面试
wzl202612131 小时前
企业微信定时群发技术实现与实操指南(原生接口+工具落地)
java·运维·前端·企业微信
小码哥_常1 小时前
Robots.txt:互联网爬虫世界的“隐形规则”
前端
小码哥_常1 小时前
Android开发神器:AndroidAutoSize,轻松搞定屏幕适配
前端
前端一小卒1 小时前
前端工程师的全栈焦虑,我用 60 天治好了
前端·javascript·后端
不停喝水1 小时前
【AI+Cursor】 告别切图仔,拥抱Vibe Coding: AI + Cursor 开启多模态全栈新纪元 (1)
前端·人工智能·后端·ai·ai编程·cursor
coderyi3 小时前
LLM Agent 浅析
前端·javascript·人工智能
我叫黑大帅3 小时前
TypeScript 6.0 弃用选项错误 TS5101 解决方法
javascript·后端·面试
科雷软件测试3 小时前
使用python+Midscene.js AI驱动打造企业级WEB自动化解决方案
前端·javascript·python