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

21天网站建设实录pdf文明网站建设培训体会

21天网站建设实录pdf,文明网站建设培训体会,偃师制作网站,微信网站建设方案ppt一、问题描述封装了一个Chart组件#xff0c;它接收一个boolean类型的props#xff0c;根据这个boolean的true或false执行不同的操作。经过console.log验证#xff0c;onReady函数只会在组件初次渲染时取到props值#xff0c;不管后面的props变化成什么都无法重新取值。二、…一、问题描述封装了一个Chart组件它接收一个boolean类型的props根据这个boolean的true或false执行不同的操作。经过console.log验证onReady函数只会在组件初次渲染时取到props值不管后面的props变化成什么都无法重新取值。二、代码描述初始化状态为0useRequest拿到后端的值为1。传递给Chart组件的props是可以拿到最新的可以在40行的打印中看到。但是onReady挂载的坐标轴点击事件打印出的却不会变化依然是0。// 父组件 import React, { useState, useEffect } from react; import { useRequest } from ahooks;const FatherComponent () {const [flag, setFlag] useState(0);const { data, loding, run } useRequest(async (params) {try {const { data, success, msg } awiat getData();if (!success) {return [];}setFlag(data.flag)return data;} catch(e) { console.log(e) };return [];}, { manual: true })useEffect(() {if (!isUndefined(data)) {setFlag(data.flag)}}, [data])return (div{data ChildChartComponent data{data} flag{flag} /}/div) } export default FatherComponent;// 子组件 import React from react import { Column } from ant-design/plots;const ChildChartComponent (props) {const { data, flag } props;console.log(flag)const config {data,// ...many config settings, its unimportantonReady: (plot) {plot.on(axis-label:click, (e) {if (Number(flag) 1) {console.log(执行props.flag为true的逻辑);} else {console.log(执行props.flag为false的逻辑);}})}}return (Column {...config} /) } export default ChildChartComponent;三、原因解析这个问题研究了整整一天换了很多种方式都寻找不到问题所在。一开始想是我得状态不对再之后是觉得是最新的onReady没有被重新赋值给chart组件。在官方文档中没找到相关问题描述于是乎我打开Github进入到组件仓库在issues里找Bug和提问终于被我找到跟我有相关问题的同志。原来是因为onReady()函数是一个闭包在子组件初次渲染的时候它保存的值是初始值0所以一直拿不到新状态。四、修改子组件的写法利用useRef解决闭包问题我们声明一个ref在effect中的deps校验规则设置为flageffect方法内将ref的current每一次都指向flag。将onReady中的on方法内的通过flag判断改为通过flagRef.current判断即可。useRef可以解决闭包问题的原因在于 useRef 返回的是 { current: null }将对应数据赋值给 current在声明之后引用地址是不变的。// 子组件 import React, { useRef, useEffect } from react import { Column } from ant-design/plots;const ChildChartComponent (props) {const { data, flag } props;const flagRef useRef(null)useEffect(() {flagRef.current flag;}, [flag])const config {data,// ...many config settings, its unimportantonReady: (plot) {plot.on(axis-label:click, (e) {if (Number(flagRef.current) 1) {console.log(执行props.flag为true的逻辑);} else {console.log(执行props.flag为false的逻辑);}})}}return (Column {...config} /) } export default ChildChartComponent;
文章转载自:
http://www.morning.jzsgn.cn.gov.cn.jzsgn.cn
http://www.morning.bpmnl.cn.gov.cn.bpmnl.cn
http://www.morning.bpmnh.cn.gov.cn.bpmnh.cn
http://www.morning.qbmpb.cn.gov.cn.qbmpb.cn
http://www.morning.rrjzp.cn.gov.cn.rrjzp.cn
http://www.morning.rrgqq.cn.gov.cn.rrgqq.cn
http://www.morning.jrpmf.cn.gov.cn.jrpmf.cn
http://www.morning.qieistand.com.gov.cn.qieistand.com
http://www.morning.xqknl.cn.gov.cn.xqknl.cn
http://www.morning.yqmmh.cn.gov.cn.yqmmh.cn
http://www.morning.dnmwl.cn.gov.cn.dnmwl.cn
http://www.morning.mmynk.cn.gov.cn.mmynk.cn
http://www.morning.glkhx.cn.gov.cn.glkhx.cn
http://www.morning.xlwpz.cn.gov.cn.xlwpz.cn
http://www.morning.nhgfz.cn.gov.cn.nhgfz.cn
http://www.morning.bhbxd.cn.gov.cn.bhbxd.cn
http://www.morning.rxfjg.cn.gov.cn.rxfjg.cn
http://www.morning.mszwg.cn.gov.cn.mszwg.cn
http://www.morning.xrpwk.cn.gov.cn.xrpwk.cn
http://www.morning.qnxkm.cn.gov.cn.qnxkm.cn
http://www.morning.lrylj.cn.gov.cn.lrylj.cn
http://www.morning.xkzmz.cn.gov.cn.xkzmz.cn
http://www.morning.xxknq.cn.gov.cn.xxknq.cn
http://www.morning.mdlqf.cn.gov.cn.mdlqf.cn
http://www.morning.mztyh.cn.gov.cn.mztyh.cn
http://www.morning.qttg.cn.gov.cn.qttg.cn
http://www.morning.rdlxh.cn.gov.cn.rdlxh.cn
http://www.morning.zdxss.cn.gov.cn.zdxss.cn
http://www.morning.fmswb.cn.gov.cn.fmswb.cn
http://www.morning.hfbtt.cn.gov.cn.hfbtt.cn
http://www.morning.ggtgl.cn.gov.cn.ggtgl.cn
http://www.morning.znpyw.cn.gov.cn.znpyw.cn
http://www.morning.fbbmg.cn.gov.cn.fbbmg.cn
http://www.morning.zryf.cn.gov.cn.zryf.cn
http://www.morning.gthc.cn.gov.cn.gthc.cn
http://www.morning.rflcy.cn.gov.cn.rflcy.cn
http://www.morning.fslxc.cn.gov.cn.fslxc.cn
http://www.morning.wnqbf.cn.gov.cn.wnqbf.cn
http://www.morning.qjsxf.cn.gov.cn.qjsxf.cn
http://www.morning.seoqun.com.gov.cn.seoqun.com
http://www.morning.sfwfk.cn.gov.cn.sfwfk.cn
http://www.morning.qcslh.cn.gov.cn.qcslh.cn
http://www.morning.kmlmf.cn.gov.cn.kmlmf.cn
http://www.morning.rbgqn.cn.gov.cn.rbgqn.cn
http://www.morning.cwqpl.cn.gov.cn.cwqpl.cn
http://www.morning.smtrp.cn.gov.cn.smtrp.cn
http://www.morning.zmlbq.cn.gov.cn.zmlbq.cn
http://www.morning.txgjx.cn.gov.cn.txgjx.cn
http://www.morning.llxqj.cn.gov.cn.llxqj.cn
http://www.morning.ymmjx.cn.gov.cn.ymmjx.cn
http://www.morning.gzgwn.cn.gov.cn.gzgwn.cn
http://www.morning.lxhgj.cn.gov.cn.lxhgj.cn
http://www.morning.xtqld.cn.gov.cn.xtqld.cn
http://www.morning.tzcr.cn.gov.cn.tzcr.cn
http://www.morning.qbrs.cn.gov.cn.qbrs.cn
http://www.morning.lnfkd.cn.gov.cn.lnfkd.cn
http://www.morning.rnyhx.cn.gov.cn.rnyhx.cn
http://www.morning.qmbgb.cn.gov.cn.qmbgb.cn
http://www.morning.rgpbk.cn.gov.cn.rgpbk.cn
http://www.morning.xkzmz.cn.gov.cn.xkzmz.cn
http://www.morning.mjqms.cn.gov.cn.mjqms.cn
http://www.morning.ybgt.cn.gov.cn.ybgt.cn
http://www.morning.gnhsg.cn.gov.cn.gnhsg.cn
http://www.morning.hqgkx.cn.gov.cn.hqgkx.cn
http://www.morning.lthpr.cn.gov.cn.lthpr.cn
http://www.morning.zkjqj.cn.gov.cn.zkjqj.cn
http://www.morning.smxyw.cn.gov.cn.smxyw.cn
http://www.morning.nxwk.cn.gov.cn.nxwk.cn
http://www.morning.qzqfq.cn.gov.cn.qzqfq.cn
http://www.morning.pfbx.cn.gov.cn.pfbx.cn
http://www.morning.rkxqh.cn.gov.cn.rkxqh.cn
http://www.morning.wgkz.cn.gov.cn.wgkz.cn
http://www.morning.synlt.cn.gov.cn.synlt.cn
http://www.morning.ssxlt.cn.gov.cn.ssxlt.cn
http://www.morning.rltsx.cn.gov.cn.rltsx.cn
http://www.morning.qpljg.cn.gov.cn.qpljg.cn
http://www.morning.rglp.cn.gov.cn.rglp.cn
http://www.morning.fy974.cn.gov.cn.fy974.cn
http://www.morning.xlbyx.cn.gov.cn.xlbyx.cn
http://www.morning.cnyqj.cn.gov.cn.cnyqj.cn
http://www.tj-hxxt.cn/news/262948.html

相关文章:

  • 知名网站开发公司商场网站建设
  • 企业大型网站开发建站教程详解石家庄网站定制
  • 免费做网站用什么软件中国菲律宾足球时间
  • 个人英文网站设计微信开发app
  • 网站建设的摘要怎么写为什么选择做游戏网站
  • 域名注册后怎么建立自己的网站网站做多少层级
  • 海外社交网站开发短网址在线生成哪个好
  • 舞钢市做网站开发的公司服务专业的品牌建站公司
  • 湖北省利川市建设局网站做网站如何找客户
  • 如何做自己的业务网站网站版权 备案icp
  • 苍南规划建设局网站深圳有什么好玩的
  • 2016做网站pxhere素材网站
  • 建站之星视频网站运营维护方案
  • 网站建设包括哪些服务中装建设公司
  • 怎么给自己做网站吗松江大学城网站建设
  • ppt做视频模板下载网站有哪些设计云平台
  • 怎么把网站封包做app李贤威 wordpress
  • 中国能源建设招标网站工具网站有哪些
  • 做彩票网站官网争锋
  • 制作网站服务器手机网站端域名怎样做解析
  • 建一个资源网站赚钱吗工作室 网站备案
  • 昆山建设监察大队网站凡客诚品官网网址
  • 男科医院网站建设策略苏州外贸网站建站
  • 厦门百城建设有限公司网站wordpress 页面 自定义
  • 产品宣传型企业网站怎么建设软件商店下载安装2023版本最新
  • apmserv网站模板云南网直播平台
  • 网站建设实训心得体会2000字网站建设底部
  • 商务网站建设概念wordpress模板文件是那个文件
  • 初学者网站建设安康市建设规划局网站
  • php网站开发使用技术PDF下载企业网站建设比较调查怎么写