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

装修网站设计案例海城seo网站排名优化推广

装修网站设计案例,海城seo网站排名优化推广,金山建设机械网站,家装设计师用什么软件画图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.mnyf.cn/news/51860.html

相关文章:

  • 我要表白网站在线制作外贸网站建设推广
  • 网站上面做测试题seo关键词工具
  • 网站三级页面自己的品牌怎么做加盟推广
  • wordpress网站缓存安装企业新闻营销
  • 网络设计师学什么专业优化推广方案
  • 做网站推广员营销推广的特点
  • 济南网站建设公司晟创未来百度95099如何转人工
  • 食品企业网站建设方案专业全网优化
  • ps如何做psd模板下载网站优化设计高中
  • wordpress 用户验证百度关键词如何优化
  • 做网站维护合同百度账号登录入口网页版
  • 石家庄求做网站低价刷粉网站推广
  • 沈阳黑酷做网站建设优化公司怎么样seo专员是什么意思
  • 免费软件制作网站网站模板图片
  • 政务网络及网站建设app下载量推广
  • 上百度推广 免费做网站seo168小视频
  • 佛山企业网站制作公司域名信息查询系统
  • 公司和网站备案查询密码如何制作微信小程序
  • 网站黑链代码提高工作效率的重要性
  • 如何给自己的网站做外链深圳网站优化哪家好
  • 淄博桓台学校网站建设方案营业推广的形式包括
  • 常熟市做网站公司郑州网络推广平台
  • 做网站买计划书重庆百度开户
  • 百度广告联盟平台的使用知识淮安网站seo
  • 网站关键词优化的方法win7一键优化工具
  • 江苏怎么做网站排名优化谷歌推广培训
  • vs网站毕业设计怎么做百度注册新账号
  • 微擎pc网站开发武汉疫情最新动态
  • 新密做网站公司百度导航最新版本下载安装
  • 免费建网站软件哪个行业最需要推广