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

合肥市建设通网站seo推广案例

合肥市建设通网站,seo推广案例,广州疫情最新情况 最新消息,wordpress 附件Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。理解#xff1a;hook是react提供的函数API官方提供的hook基础hookuseState APIconst [state, setState] useState(initialState); //返回state值 以及更新state的方法 …Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性。理解hook是react提供的函数API官方提供的hook基础hookuseState APIconst [state, setState] useState(initialState); //返回state值 以及更新state的方法 在初始渲染期间返回的状态 (state) 与传入的第一个参数 (initialState) 值相同。 setState 函数用于更新 state。它接收一个新的 state 值并将组件的一次重新渲染加入队列。案例 //引入 hook import { useState } from react; //16.8 //useState 给函数组件提供state状态值 //useState 返回数组 [state状态值,更新状态值的方法] export default () {//定义状态 useState参数为初始值let [num, setNum] useState(0);console.log(渲染,num);//定义-事件//匿名函数写法// let handler () {};function handler(type) {switch (type) {case decrement://--num--;break;case increment://num;break;}setNum(num);}return (button onClick{handler.bind(null, decrement)}-/buttondiv数量{num}/divbutton onClick{handler.bind(null, increment)}/button/); }; //state状态值num初始状态值 //state状态值首次编译创建一次。更新state状态值不会重新定义//案例中存在num 后置 -- //整个程序运行存在异常。函数组件中定义状态值 //定义状态 useState参数为初始值let [num, setNum] useState(0);let [isShow, setShow] useState(true);let [arr, setArray] useState([0, 1, 2, 3, 4]);let [stu, setStu] useState({name: 小花,age: 18,});let [city, setCity] useState([{ name: 西安市 }, { name: 咸阳市 }]);注意使用useState定义数据state //1.state状态值为普通变量 可以直接修改 可以让函数组件更新 //2.如果函数组件中定义的数据为对象或者数组//对象某个key修改stu.name 小黑;setStu(stu)//数组某个索引值修改arr[0] 11;setArray(arr);//以上两种写法不会导致函数组件更新//底层监听不到当前数据在变化因为引用链没有断掉。建议断链setStu({ ...stu, name: 小黑 });arr[0]11;setArray([...arr]);react中对象检测机制React 使用 Object.is 比较算法 来比较 state。 所以需要断链操作。与 class 组件中的 setState 方法不同useState 不会自动合并更新对象函数组件中产生覆盖。你可以用函数式的 setState 结合展开运算符来达到合并更新对象的效果。意思是如果需要类似setState 对象合并。 使用函数式来处理。 //函数式写法 useState// setStu({ ...stu, name: 小黑 });setStu((state) {//业务逻辑代码return { ...stu, name: xiaohei };});useEffect类似周期函数 常用hook 主要功能是用来处理副作用 useEffect(() {console.log(挂载);});//以上的这种用法 等待jsx模板编译挂载到页面之后执行外部的函数类似挂载完成//当前函数组件数据更新 可以当作更新完成//下面这种写法 外部函数执行一致。 内部返回的函数为处理副作用函数。//首次编译 处理副作用函数不执行。useEffect(() {console.log(挂载);//返回的函数为处理副作用函数return function (){console.log(处理副作用);}});//当前函数组件数据更新 函数组件重新编译 useEffect继续执行---先执行上次的副作用处理//作用为防止内存泄漏清除函数会在组件卸载前执行useEffect(() {console.log(挂载);//返回的函数为处理副作用函数return function () {console.log(处理副作用);};});例如useEffect(() {console.log(挂载);let time setInterval(() {console.log(输出);}, 1000);//返回的函数为处理副作用函数return function () {console.log(处理副作用);clearInterval(time);};});//如果在子组件中使用useEffect 处理副作用useEffect(() {console.log(挂载完成或者更新完成);//处理副作用和卸载之前return () {console.log(处理副作用);};});console.log(渲染);//考虑当前组件卸载 处理副作用函数可以当作卸载之前使用//useEffect 可以代替组件的挂载完成和更新完成和卸载之前 三个周期。useEffect 外部处理函数与 componentDidMount、componentDidUpdate 不同的是在浏览器完成布局与绘制之后传给 useEffect 的函数会延迟调用。演示useEffect的使用场景类似挂载export default () {//类似挂载完成周期 useEffect的函数是在挂载页面之后延迟执行useEffect((){console.log(执行);});console.log(渲染);return (div测试/div/); };类似更新export default () {let [num, setNum] useState(0);useEffect(() {console.log(执行);});let update () {num;setNum(num);};console.log(渲染);return (div测试-{num}/divbutton onClick{update}更新/button/); }; //修改当前组件state 组件更新 执行useEffect中函数--功能类似更新完成类似卸载之前官方解释是卸载之前处理副作用函数。处理当前组件副作用。import { useEffect } from react;export default () {useEffect(() {console.log(执行);return function () {console.log(处理副作用);};});console.log(渲染);return (div菜单/div/); }; //子组件首次挂载产生一个副作用处理函数 //直接子组件卸载 执行上次产生的副作用函数类似卸载之前effect 的条件执行默认情况下effect 会在每轮组件渲染完成后执行。这样的话一旦 effect 的依赖发生变化它就会被重新创建。在函数组件中具体到某个状态发生变化useEffect才执行。给useEffect添加条件让useEffect存在依赖项依赖项发生变化的时候useEffect才重新定义执行useEffect 参数二[] 用法useEffect(() {console.log(执行);//定义计时器let timer setInterval(() {console.log(计时器);}, 500);return function () {console.log(处理副作用);clearInterval(timer);};}, [num]);//依赖[]useEffect(() {console.log(执行);//定义计时器let timer setInterval(() {console.log(计时器);}, 500);return function () {console.log(处理副作用);clearInterval(timer);};}, []);//依赖值为空 默认首次挂载之后执行其余不执行//存在多个依赖项useEffect(() {console.log(执行);//定义计时器let timer setInterval(() {console.log(计时器);}, 500);return function () {console.log(处理副作用);clearInterval(timer);};}, [num,name]);useEffect用法调网络为例 //引入获取验证码接口 import { useEffect } from react; import { getCaptcha } from ../network/user; export default () {useEffect(async () {let res await getCaptcha();console.log(res);}, []);return (div登录界面/div/); }; //官方警告//引入获取验证码接口 import { useEffect } from react; import { getCaptcha } from ../network/user; export default () {useEffect(() {async function request() {let res await getCaptcha();console.log(res);}request();}, []);return (div登录界面/div/); };
http://www.dnsts.com.cn/news/1369.html

相关文章:

  • 网站后台更新无法在网页显示免费观看行情软件网站进入
  • 南阳哪有做网站公司知乎推广渠道
  • 网站建设平台优量汇广告平台
  • 网站互点联盟竞价排名名词解释
  • 宁波网站推广优化公司百度seo找哪里
  • 济南互联网网站建设价格平谷头条新闻
  • 武汉市大型的网站制作公司一手渠道推广平台
  • 做私活网站今天最新消息
  • 东莞网站建设效果seo分析工具
  • 电商是什么?一般是干嘛的兰州seo
  • 网站文章更新注意什么宣传推广计划
  • 企业网站建设模拟实验产品推广
  • 做网站是什么专业什么工作谷歌账号
  • 网站建设信息在哪儿发布贵港网站seo
  • 动漫网站建设网络优化工程师招聘信息
  • html5网站修改优化公司结构
  • 营销型网站建设和规划网站seo分析工具
  • 网站维护技术策划方案
  • wordpress 爱优化模型
  • 织梦单页面网站模板北京营销推广公司
  • 济南轻电商网站建设公司苏州关键词seo排名
  • 研学网站开发需求文档品牌运营
  • cakephp网站开发框架软考培训机构哪家好一点
  • 做网站用方正字体可以额的java培训机构
  • 山西政府网站建设江苏seo网络
  • 做网站公司的前景谷歌搜索引擎镜像
  • 政府网站建设自查整改报告宁波网站优化公司价格
  • 常州做网站的企业青岛网站seo服务
  • 温州网站制作优化免费网站的软件
  • 深圳网站建设是什么全网自媒体平台