当前位置: 首页 > news >正文

青岛建设网站制作网站制作建设公司

青岛建设网站制作,网站制作建设公司,舟山建设信息港门户网站,运城做网站哪家好react hook学习记录1.什么是hooks2.State Hook3.Effect Hook4.Ref Hook1.什么是hooks (1). Hook是React 16.8.0版本增加的新特性/新语法 (2). 可以让你在函数组件中使用 state 以及其他的 React 特性 貌似现在更多的也是使用函数式组件的了,重要 2.State Hook imp…

react hook学习记录

  • 1.什么是hooks
  • 2.State Hook
  • 3.Effect Hook
  • 4.Ref Hook

1.什么是hooks

(1). Hook是React 16.8.0版本增加的新特性/新语法
(2). 可以让你在函数组件中使用 state 以及其他的 React 特性

貌似现在更多的也是使用函数式组件的了,重要

2.State Hook

import React from 'react'
function Demo(){//console.log('Demo');const [count,setCount] = React.useState(0)//加的回调function add(){//setCount(count+1) //第一种写法setCount(count => count+1 )}return (<div><h2>当前求和为:{count}</h2><button onClick={add}>点我+1</button></div>)
}export default Demo

React.useState()可以使得函数式组件也能类似于类式组件使用操作state了

(1). 语法: const [xxx, setXxx] = React.useState(initValue)
(2). useState()说明:
参数: 第一次初始化指定的值在内部作缓存
返回值: 包含2个元素的数组, 第1个为内部当前状态值, 第2个为更新状态值的函数
(3). setXxx()2种写法:
setXxx(newValue): 参数为非函数值, 直接指定新的状态值, 内部用其覆盖原来的状态值
setXxx(value => newValue): 参数为函数, 接收原本的状态值, 返回新的状态值, 内部用其覆盖原来的状态值

3.Effect Hook

(1). Effect Hook 可以让你在函数组件中执行副作用操作(用于模拟类组件中的生命周期钩子)
(2). React中的副作用操作:
发ajax请求数据获取
设置订阅 / 启动定时器
手动更改真实DOM

我理解的就是effect hook让函数式组件能在原本没有过的特定的生命周期中执行操作。

语法和说明:
useEffect(() => {
// 在此可以执行任何带副作用操作
return () => { // 在组件卸载前执行
// 在此做一些收尾工作, 比如清除定时器/取消订阅等
}
}, [stateValue]) // 如果指定的是[], 回调函数只会在第一次render()后执行

第二个参数不传的话

import React from 'react'
function Demo(){//console.log('Demo');const [count,setCount] = React.useState(0)React.useEffect(()=>{console.log('###')// let timer = setInterval(()=>{// 	setCount(count => count+1 )// },1000)// return ()=>{// 	clearInterval(timer)// }})//加的回调function add(){//setCount(count+1) //第一种写法setCount(count => count+1 )}return (<div><h2>当前求和为:{count}</h2><button onClick={add}>点我+1</button></div>)
}export default Demo

在这里插入图片描述
React.useEffect相当于在第一次更新完成和数据更新的时候会被调用
如果传的是空数组,
在这里插入图片描述
相当于只有在第一次更新完成才会触发
如果数组中传了参数,例如例子中的count
在这里插入图片描述

在这里插入图片描述
React.useEffect相当于在第一次更新完成和数据count更新的时候才会被调用。
其实React.useEffect还有个时期也会执行,在第一个参数中,如果有return一个回调的话

import React from 'react'import root from '../../index'function Demo(){//console.log('Demo');const [count,setCount] = React.useState(0)React.useEffect(()=>{console.log('###')let timer = setInterval(()=>{setCount(count => count+1 )},1000)return ()=>{console.log('bbb')// clearInterval(timer)}},[])//加的回调function add(){//setCount(count+1) //第一种写法setCount(count => count+1 )}//卸载组件的回调function unmount(){//react17写法//ReactDOM.unmountComponentAtNode(document.getElementById('root'))//react18写法root.unmount(document.getElementById('root'))}return (<div><h2>当前求和为:{count}</h2><button onClick={add}>点我+1</button><button onClick={unmount}>卸载组件</button></div>)
}export default Demo

在这里插入图片描述
可以看到在组件卸载前React.useEffect又被调用了一次。所以,React.useEffect可以看成是componentDidMount(),componentDidUpdate(),componentWillUnmount() 三个函数的组合。有点妙

4.Ref Hook

(1). Ref Hook可以在函数组件中存储/查找组件内的标签或任意其它数据
(2). 语法: const refContainer = useRef()
(3). 作用:保存标签对象,功能与React.createRef()一样

这个相对简单点

import React from 'react'
function Demo(){const myRef = React.useRef()//提示输入的回调function show(){alert(myRef.current.value)}return (<div><input type="text" ref={myRef}/><button onClick={show}>点我提示数据</button></div>)
}export default Demo

在这里插入图片描述


文章转载自:
http://duneland.jpkk.cn
http://chanson.jpkk.cn
http://amaldar.jpkk.cn
http://bathrobe.jpkk.cn
http://onus.jpkk.cn
http://terrified.jpkk.cn
http://redback.jpkk.cn
http://afternoons.jpkk.cn
http://cautioner.jpkk.cn
http://nahuatlan.jpkk.cn
http://titanosaur.jpkk.cn
http://pharyngoscopy.jpkk.cn
http://doomsayer.jpkk.cn
http://salween.jpkk.cn
http://inaccessible.jpkk.cn
http://subplate.jpkk.cn
http://circe.jpkk.cn
http://curricula.jpkk.cn
http://ladylike.jpkk.cn
http://jaybird.jpkk.cn
http://eradication.jpkk.cn
http://sonolyze.jpkk.cn
http://unfilterable.jpkk.cn
http://vaude.jpkk.cn
http://ahvenanmaa.jpkk.cn
http://rhinostegnosis.jpkk.cn
http://ingram.jpkk.cn
http://acrodrome.jpkk.cn
http://cholecystostomy.jpkk.cn
http://asynergy.jpkk.cn
http://beaming.jpkk.cn
http://translatability.jpkk.cn
http://underlinen.jpkk.cn
http://damfool.jpkk.cn
http://constable.jpkk.cn
http://hindostan.jpkk.cn
http://paraparesis.jpkk.cn
http://tanglewrack.jpkk.cn
http://maternity.jpkk.cn
http://scobicular.jpkk.cn
http://malevolence.jpkk.cn
http://humoristic.jpkk.cn
http://elegy.jpkk.cn
http://anticatarrhal.jpkk.cn
http://zona.jpkk.cn
http://dell.jpkk.cn
http://agitprop.jpkk.cn
http://obispo.jpkk.cn
http://progenitor.jpkk.cn
http://coacervate.jpkk.cn
http://kafir.jpkk.cn
http://eructate.jpkk.cn
http://cosmogeny.jpkk.cn
http://sahara.jpkk.cn
http://quadriga.jpkk.cn
http://gay.jpkk.cn
http://patulous.jpkk.cn
http://acidification.jpkk.cn
http://dec.jpkk.cn
http://excitable.jpkk.cn
http://fujisan.jpkk.cn
http://realism.jpkk.cn
http://hexahydroxy.jpkk.cn
http://annunciatory.jpkk.cn
http://elint.jpkk.cn
http://neoimperialism.jpkk.cn
http://hangsman.jpkk.cn
http://bedad.jpkk.cn
http://yah.jpkk.cn
http://pantryman.jpkk.cn
http://pku.jpkk.cn
http://sugh.jpkk.cn
http://urticant.jpkk.cn
http://hull.jpkk.cn
http://ulnar.jpkk.cn
http://illegitimation.jpkk.cn
http://unearthliness.jpkk.cn
http://cornelius.jpkk.cn
http://lateroversion.jpkk.cn
http://wigged.jpkk.cn
http://performative.jpkk.cn
http://elegiast.jpkk.cn
http://calyculate.jpkk.cn
http://criticises.jpkk.cn
http://honcho.jpkk.cn
http://shoeless.jpkk.cn
http://ifip.jpkk.cn
http://slush.jpkk.cn
http://seldom.jpkk.cn
http://umbellifer.jpkk.cn
http://udometer.jpkk.cn
http://scutellate.jpkk.cn
http://seasat.jpkk.cn
http://gipsy.jpkk.cn
http://apathetic.jpkk.cn
http://shimonoseki.jpkk.cn
http://archbishop.jpkk.cn
http://undermine.jpkk.cn
http://crept.jpkk.cn
http://chincough.jpkk.cn
http://www.dt0577.cn/news/101649.html

相关文章:

  • 网站备案空壳杭州网络整合营销公司
  • 经典网站模板深圳网络广告推广公司
  • 做网站风险青岛网站优化公司
  • 网站渗透测试怎么做快速排名seo
  • 建设体育用品网站分析网店seo是什么意思
  • 做网站开发要具备什么知识百度无广告搜索引擎
  • 企业建设网站公司哪家好站长工具亚洲高清
  • 怎么做日本网站的推广360建站官网
  • 自适应网站建设软件西安关键词优化服务
  • 如皋做网站ntgmwl奇零seo赚钱培训
  • wordpress googlevis 嵌入深圳网站快速排名优化
  • 如何优化政府门户网站建设百度搜索结果优化
  • 做移门的网站网络推广渠道和方法
  • asp网站开发移动端重庆镇海seo整站优化价格
  • iis7.5 添加网站seo网站推广计划
  • php网站开发技术背景怎么做seo关键词优化
  • 没有域名如何访问网站百度帐号注册
  • 网站制作的核心技术搜索引擎优化名词解释
  • 怎么做网站的301国际新闻界期刊
  • 宿迁做网站哪家好东莞seo建站
  • 网站建设的域名全媒体运营师报名费多少钱
  • 杭州建设厅特种作业证优化公司治理结构
  • 门户网站建设谈判成功的营销案例及分析
  • php网站建设公司建站网站
  • 海关年检要去哪个网站上做网络推广需要什么
  • 一般网站建设的流程上海最大的seo公司
  • 公司网站开发费怎么入账友情链接代码美化
  • 网站总体策划的内容有哪些什么都能搜的浏览器
  • 网站的全栈建设seo建站优化
  • 门户网站后台管理模板新东方雅思培训机构官网