当前位置: 首页 > 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.yayakq.cn/news/179833/

相关文章:

  • 关于学院网站建设的通知成都哪家公司做网站比较好
  • 怎么做自己淘宝优惠券网站wordpress右键插件
  • 网站的seo是什么意思做网站费用滁州
  • 网站的技术建设方案wordpress模版下载
  • 传奇新开网站网上怎么开平台做销售
  • 青岛网站建设哪个平台好微信网站开发模板
  • 购物网站创业时是如何做宣传的wordpress注册码
  • 网站平台建设什么意思中国尊设计公司
  • 杭州西湖区做网站公司注册资金实缴可以取出来吗
  • 网站域名的根目录在哪里专业建设网站服务
  • 网站和微信佛山提供网站设计报价
  • 鲜花网站数据库建设分析wordpress 评论点击验证
  • wordpress搭建公司网站企业网站教程
  • 怎么做网站卖车wordpress链接跳转页面
  • 中国和住房城乡建设部网站首页Wordpress用mvc开发吗
  • 网站网页相关概念修改wordpress rss
  • 网站做搜索关键字好吗做性的网站有哪些内容
  • 外贸网站平台下载施工合同
  • 陕西建设执业注册中心网站合肥网站建设正规公司
  • 公司网站规划郴州在线网
  • 帝国cms这么做网站delphi 做直播网站
  • 网站目录是什么网站动态加速
  • 网站编辑是做网页编辑吗足球网站网站建设
  • 视频网站建设价位网站建设邀标方案
  • 北京做企业网站重庆家政网站建设
  • 做网站怎么跑业务公司禁用网站怎么做
  • 网站建设年终总结怎么写网站建设四川冠辰
  • 中企动力技术支持网站怎样优化网站app
  • 山西成宁做的网站wordpress单页面博客
  • 合肥网站建设服务公司wordpress输入域名跳转登录