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

网站开发科技公司类似火脉的推广平台

网站开发科技公司,类似火脉的推广平台,网站制作网址,北京土巴兔装修公司电话react useRef使用与常见问题 文章目录 react useRef使用与常见问题1. Dom操作: useRef()2. 函数组件的转发: React.forwardRef()3. 对普通值进行记忆, 类似于一个class的实例属性4. 结合useEffect,只在更新时触发FAQ 1. Dom操作: useRef() // 1. Dom操作: useRef()let app doc…

react useRef使用与常见问题

文章目录

  • react useRef使用与常见问题
    • 1. Dom操作: useRef()
    • 2. 函数组件的转发: React.forwardRef()
    • 3. 对普通值进行记忆, 类似于一个class的实例属性
    • 4. 结合useEffect,只在更新时触发
    • FAQ

1. Dom操作: useRef()

    // 1. Dom操作: useRef()let app = document.querySelector('#app');let root = ReactDOM.createRoot(app);let { useState, useEffect, useRef } = React;let Welcome = (props) => {const myRef = useRef()const handleClick = () =>{myRef.current.focus()}return (<div><button onClick={handleClick}>点击</button><input ref={myRef} type='text' /></div>);}let element = (<Welcome />);root.render(element);

2. 函数组件的转发: React.forwardRef()

      // 2. 函数组件的转发: React.forwardRef()let app = document.querySelector('#app');let root = ReactDOM.createRoot(app);let { useState, useEffect, useRef, forwardRef } = React;let Head = forwardRef((props, ref)=> {return (<div>hello Head{/*将 ref 转发到子组件的input上 */}<input ref={ref} type='text' /></div>)})let Welcome = (props) => {const myRef = useRef()const handleClick = () =>{// 点击时候会触发子组件的focus事件myRef.current.focus()}return (<div><button onClick={handleClick}>点击</button>{/*ref 和组件关联*/}<Head ref={myRef}></Head></div>);}let element = (<Welcome />);root.render(element);

3. 对普通值进行记忆, 类似于一个class的实例属性

 // 3. 对普通值进行记忆, 类似于一个class的实例属性let app = document.querySelector('#app');let root = ReactDOM.createRoot(app);let { useState, useEffect, useRef } = React;let Welcome = (props) => {// 响应式数据,具有记忆功能,点击后响应式数据加1const [num, setNum] = useState(0);// let count = 0; // 普通的count不具有记忆功能const count = useRef(0) // 可以给普通值进行记忆操作const handleClick = () =>{count.current++;console.log(count.current);setNum(num + 1)// console.log(num); // 还是之前的值}return (<div><button onClick={handleClick}>点击</button></div>);}let element = (<Welcome />);root.render(element);

4. 结合useEffect,只在更新时触发

 // 4. 结合useEffect,只在更新时触发let app = document.querySelector('#app');let root = ReactDOM.createRoot(app);let { useState, useEffect, useRef } = React;let Welcome = (props) => {// 响应式数据,具有记忆功能,点击后响应式数据加1const [num, setNum] = useState(0);const isUpdate = useRef(false) useEffect(()=>{// 只在点击时候触发if (isUpdate.current) {console.log(num);}})const handleClick = () =>{setNum(num + 1)isUpdate.current = true// console.log(num); // 还是之前的值}return (<div><button onClick={handleClick}>点击</button></div>);}let element = (<Welcome />);root.render(element);

FAQ

https://zh-hans.legacy.reactjs.org/docs/hooks-faq.html#why-am-i-seeing-stale-props-or-state-inside-my-function

http://www.dinnco.com/news/16190.html

相关文章:

  • 网站代理制作友情链接代码美化
  • 网站改版是什么百度一下百度网站
  • 网站建设与管理专业自我评价神马搜索推广
  • ps做网站ui信阳搜索引擎优化
  • 盐山做网站价格百度推广培训机构
  • java网站开发用哪种我为什么不建议年轻人做运营
  • 网站后台看不到部分内容baidu com百度一下
  • 苏州网站建设店铺装修新闻软文自助发布平台
  • dj网站模板免费下载各国足球世界排名
  • 优秀企业网站欣赏南京网站seo
  • 微信推送怎么做购物网站有没有免费的广告平台
  • 做网站交付标准长沙seo运营
  • 乌鲁木齐新市网站建设seo专业培训机构
  • 保定建设招聘信息网站写软文怎么接单子
  • 在哪里找做网站的网站建设技术托管
  • 做网站要准备什么seo搜索引擎优化案例
  • 定制网站制作技术谷歌seo排名公司
  • 简单网站建设运营销售人员培训课程有哪些
  • 公司的网站开发费计入什么科目图片识别
  • 重庆市建设工程信息网南川区搜索引擎优化服务公司哪家好
  • wordpress发布荥阳网站优化公司
  • 做淘宝网站要多少钱百度收录查询
  • 建设一个地方门户网站交易链接
  • 濮阳市网站怎么做宣传百度搜索风云榜
  • 普洱市网站建设制作百度视频seo
  • 网络服务与协议课件优化大师官方下载
  • 网站推广软文选天天软文全国疫情最新情报
  • 商业网站建设实训指导书成都纯手工seo
  • 移动端网站和app开发网站建设加推广优化
  • 黄页网站推广公司深圳百度推广联系方式