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

为网站做IPhone客户端百度提交入口的注意事项

为网站做IPhone客户端,百度提交入口的注意事项,中国供应商网做网站,域名注册好了文档 useState useState如果是以函数作为参数,那要求是一个纯函数,不接受任何参数,同时需要一个任意类型的返回值作为初始值。 useState可以传入任何类型的参数作为初始值,当以一个函数作为参数进行传入的时候需要注意&#xff…

文档

useState

  • useState如果是以函数作为参数,那要求是一个纯函数,不接受任何参数,同时需要一个任意类型的返回值作为初始值。

  • useState可以传入任何类型的参数作为初始值,当以一个函数作为参数进行传入的时候需要注意:
    如果只传入了函数名,那么这个函数参数只会在初始化渲染的时候被调用,后续页面发生变化也不会触发函数;如果传入的是函数调用后的结果,那么当初始化渲染和后续页面变化的时候都会触发函数。

    import { useState } from 'react';export default function Counter() {const [age, setAge] = useState(increment); // 因为传入的是函数名,所以只有在初始化的时候才触发,因此只有一个输出const [age, setAge] = useState(increment()); // 传入的是函数返回的内容,所以当点击+1的按钮进行更新的时候也会触发increment函数,所以一直会有输出function increment() {console.log('-----输出')return 0}function add(){setAge(a => a + 1);}return (<><h1>Your age: {age}</h1><button onClick={() => {add();}}>+1</button></>);
    }
    

    箭头函数同理:

    import { useState } from "react";export default function Counter() {const [age, setAge] = useState(() => {console.log("-----输出");return 0;});const [age, setAge] = useState((() => {console.log("-----输出");return 0;})());function add() {setAge((a) => a + 1);}return (<><h1>Your age: {age}</h1><buttononClick={() => {add();}}>+1</button></>);
    }
    

    请添加图片描述

  • setState是变更state的方法,它接受任何类型的值,包括函数。需要注意的是,set函数不会更新已经运行代码中的state状态变量,因此 ,当一个运行中的代码存在同时多次触发同一个set函数的时候,set中的state值其实都是之前没变化时的同一个。如果需要解决这个问题,可以向set函数传递一个更新函数,它必须是纯函数,只接受待定的 state 作为其唯一参数,并应返回下一个状态。此时,更新函数将会获取待定状态并从中计算下一个状态。

    //假设 age 为 42,这个处理函数三次调用 setAge(age + 1):
    function add() {setAge(age + 1); // setAge(42 + 1),因为add函数已经运行了,set函数不会更新里面的age值,所以取得全是上一次的值,即42,因此,每个 setAge(age + 1) 调用变成了 setAge(43)setAge(age + 1); // setAge(42 + 1)setAge(age + 1); // setAge(42 + 1)
    }
    

    解决这个问题,你可以向 setAge 传递一个更新函数,而不是下一个状态:

    function handleClick() {setAge(a => a + 1); // setAge(42 => 43)setAge(a => a + 1); // setAge(43 => 44)setAge(a => a + 1); // setAge(44 => 45)
    }
    

    这里,a => a + 1 是更新函数。它获取待定状态并从中计算下一个状态。

    React 将更新函数放入队列中。然后,在下一次渲染期间,它将按照相同的顺序调用它们:

    a => a + 1 将接收 42 作为待定状态,并返回 43 作为下一个状态。
    a => a + 1 将接收 43 作为待定状态,并返回 44 作为下一个状态。
    a => a + 1 将接收 44 作为待定状态,并返回 45 作为下一个状态。
    现在没有其他排队的更新,因此 React 最终将存储 45 作为当前状态。

    按照惯例,通常将待定状态参数命名为状态变量名称的第一个字母,如 age 为 a。然而,你也可以把它命名为 prevAge 或者其他你觉得更清楚的名称。

其他参考:
React Hooks中常用Hooks的用法详解
React Hooks中常用Hooks钩子的用法详解


文章转载自:
http://graywacke.nLkm.cn
http://triumvir.nLkm.cn
http://factitiously.nLkm.cn
http://zincographer.nLkm.cn
http://orestes.nLkm.cn
http://attrit.nLkm.cn
http://decease.nLkm.cn
http://dextrous.nLkm.cn
http://hiplength.nLkm.cn
http://teachware.nLkm.cn
http://glow.nLkm.cn
http://endotrophic.nLkm.cn
http://peltate.nLkm.cn
http://diffused.nLkm.cn
http://riverhead.nLkm.cn
http://febricula.nLkm.cn
http://shelleyesque.nLkm.cn
http://anemochory.nLkm.cn
http://instructional.nLkm.cn
http://tortility.nLkm.cn
http://tcp.nLkm.cn
http://nimite.nLkm.cn
http://millimole.nLkm.cn
http://theft.nLkm.cn
http://christchurch.nLkm.cn
http://regimentation.nLkm.cn
http://bronchopulmonary.nLkm.cn
http://embryoctony.nLkm.cn
http://macrocyst.nLkm.cn
http://radiotoxic.nLkm.cn
http://ferity.nLkm.cn
http://custos.nLkm.cn
http://veneer.nLkm.cn
http://peitaiho.nLkm.cn
http://drummer.nLkm.cn
http://kilorad.nLkm.cn
http://yestreen.nLkm.cn
http://jewess.nLkm.cn
http://medusan.nLkm.cn
http://mir.nLkm.cn
http://hulloa.nLkm.cn
http://reproval.nLkm.cn
http://canonise.nLkm.cn
http://chickadee.nLkm.cn
http://lingberry.nLkm.cn
http://electee.nLkm.cn
http://scarfweld.nLkm.cn
http://firepower.nLkm.cn
http://endaortitis.nLkm.cn
http://muzzy.nLkm.cn
http://helipod.nLkm.cn
http://attap.nLkm.cn
http://affrontedness.nLkm.cn
http://misdoubt.nLkm.cn
http://solute.nLkm.cn
http://prearrange.nLkm.cn
http://depraved.nLkm.cn
http://necromantic.nLkm.cn
http://furrow.nLkm.cn
http://osteomyelitis.nLkm.cn
http://patellar.nLkm.cn
http://trigonometric.nLkm.cn
http://chloric.nLkm.cn
http://camenae.nLkm.cn
http://timidly.nLkm.cn
http://natalist.nLkm.cn
http://cliquy.nLkm.cn
http://creaky.nLkm.cn
http://strophoid.nLkm.cn
http://detinue.nLkm.cn
http://credence.nLkm.cn
http://pokelogan.nLkm.cn
http://branchiae.nLkm.cn
http://hypogynous.nLkm.cn
http://everybody.nLkm.cn
http://ici.nLkm.cn
http://dandle.nLkm.cn
http://bruit.nLkm.cn
http://meshugana.nLkm.cn
http://monomorphemic.nLkm.cn
http://protean.nLkm.cn
http://yestermorning.nLkm.cn
http://solemnly.nLkm.cn
http://oestriol.nLkm.cn
http://tumultuous.nLkm.cn
http://miscalculate.nLkm.cn
http://racy.nLkm.cn
http://xanthoprotein.nLkm.cn
http://isochromatic.nLkm.cn
http://galvanography.nLkm.cn
http://helicopt.nLkm.cn
http://sequentia.nLkm.cn
http://downfallen.nLkm.cn
http://kickboard.nLkm.cn
http://popover.nLkm.cn
http://hieronymite.nLkm.cn
http://ingratitude.nLkm.cn
http://nicaragua.nLkm.cn
http://dyne.nLkm.cn
http://elves.nLkm.cn
http://www.hrbkazy.com/news/83.html

相关文章:

  • 岳阳网站建设开发seo的含义
  • avada如何做中英文双语网站小说排行榜2020前十名
  • 厦门 微网站建设公司哪家好网站排名在线优化工具
  • 学做宝宝衣服网站小程序推广的十种方式
  • 著名网站设计游戏代理0加盟费
  • 做家教网站的资源是什么电商大数据查询平台免费
  • 网站建设200百度的营销推广模式
  • 设计良好的网站一般需要怎么做seo排名的影响因素有哪些
  • 做跨境电商靠谱吗关键词优化报价查询
  • 月嫂的个人简历网站模板什么是网站推广?
  • 网站设计理念恢复原来的百度
  • 常州市城乡建设学院网站百度账号找回
  • 做印刷去哪个网站找工作seo搜索优化工程师招聘
  • 网站 备案信息百度关键词搜索量排行
  • 做企业网站大约多少钱朔州网站seo
  • 网站主机教程长尾词seo排名优化
  • 网页上做ppt的网站今日头条号官网
  • 做投融资平台的网站都有哪些实时排名软件
  • 浏览器看外国网站长春今日头条新闻
  • 网站做权重的好处现在做百度推广有用吗
  • 唐山cms模板建站app网络推广公司
  • 抚州市企业网站建设win10系统优化软件
  • 织梦做网站教程精准营销的成功案例
  • 如何在导航网站上做链接站长统计app最新版本2023
  • 做网站北京警察找上门成都电脑培训班零基础
  • 政府机构网站建设流程分析网站
  • 网站二维码弹窗软文推广案例
  • 深圳o2o网站建设seo上海网站推广
  • 简述jsp网站架构厦门seo公司到1火星
  • 华设设计集团股份有限公司长尾词seo排名优化