关系经济人类预测化学自然
投稿投诉
自然科学
知识物理
化学生物
地理解释
预测理解
本质社会
人类现象
行为研究
经济政治
心理结构
关系指导
人文遗产

react函数式组件语法

2月6日 满月族投稿
  1。useState函数data的定义hook
  react16。8新增的变量定义方式在函数式组件中代替state定义变量useState()会返回一个数组中携带两个参数,一个是定义的变量初始值,第二个是修改该数据的方法。
  一般情况下,通过数组的解构,快速获取useState的两个返回值。
  例:let〔num,setNum〕useState(100);基本数据类型import{useState}import。App。cssexportdefaultfunctionApp(){let〔num,setNum〕useState(0)修改数据实现类似双向绑定的效果〔页面改变数据变〕constchangeNum(e){setNum(e。target。value)}设置数据直接覆盖〔数据变页面变〕constsetData(){setNum(1000)}return(h1{num}h1inputtypetextonChange{changeNum}value{num}buttononClick{setData}直接设置数据button)}引用数据类型。import{useState}import。App。cssexportdefaultfunctionApp(){let〔search,setSearch〕useState()let〔likes,setLike〕useState(〔〕);修改search的数据constchangeSearch(e){setSearch(e。target。value);}添加元素constaddData(e){setLike(〔。。。likes,search〕);}return(inputtypetextonChange{changeSearch}placeholder添加搜索记录value{search}buttononClick{addData}添加数据buttonul{likes。map((item,index){returnlikey{index}{item}li})}ul)}2。事件处理React元素的事件处理和DOM元素的很相似,但是有一点语法上的不同
  React事件的命名采用小驼峰式(camelCase),而不是纯小写。使用JSX语法时你需要传入一个函数作为事件处理函数,而不是一个字符串。直接绑定事件执行函数importReactfromreactexportdefaultfunctionMethods(){constbtn(e){console。log(点你了。。。);自带event事件对象console。log(e);阻止事件冒泡e。stopPropagation()}return(buttononClick{btn}点我呀button)}绑定事件并传递参数如果直接绑定事件,react会误认为该函数是一个立即执行函数的js代码,这种绑定方式会导致每一次dom的更新都会调用一次该执行函数,如果需要在调用时传递参数就会出现bug。
  解决方案:通过箭头函数返回一个调用执行函数进行调用即可importReactfromreactexportdefaultfunctionMethods(){constbtn(num){console。log(num);100}return(buttononClick{()btn(100)}点我呀button)}绑定事件并传递数据和event对象
  箭头函数接受event对象继续作为实参传递给执行函数importReactfromreactexportdefaultfunctionMethods(){constbtn(num,e){console。log(num);100console。log(e);事件对象}return(buttononClick{(e)btn(100,e)}点我呀button)}3。useEffect函数式组件替代生命周期
  react16。8新增hook,代替类组件中的生命周期钩子函数式组件中没有生命周期;只有类组件才会存在生命周期,类组件的创建,更新,销毁等生命周期。
  useEffect函数默认:进入页面就执行一次,以后render函数每执行一次(数据发生改变)就跟着执行一次。
  常见用法:在react中的异步或副作用操作不太好处理。异步操作:ajax请求,副作用操作:定时器(副作用:需要清除)这个useEffect接受两个参数,useEffect(执行函数,〔依赖项〕)
  执行函数:函数体中发送ajax并通过useState解构的方法更新数据
  依赖项:值必须是一个数组,通知react在哪些数据发生变更时,执行useEffect的执行函数useEffect(执行函数);进入页面执行一次,每次render执行一次useEffect(执行函数,〔〕);进入页面执行一次,以后再也不执行,不依赖props和state中的数据进行触发useEffect(执行函数,〔num〕);进入页面执行一次,num发生改变执行一次useEffect((){发送axios请求getData({id:1000})。then(res{if(res。data。code1){修改数据setList(res。data。list)}})},〔〕)4。组件基础父组件importReactfromreact导入子组件importSonfrom。。componentsSonSonexportdefaultfunctionApp(){return({使用子组件}Son)}子组件importR导入子组件exportdefaultfunctionSon(){return(我是子组件)}5。组件通信
  react的数据传递是单向数据流,父组件的数据发生改变,其所有使用了这个数据的子组件孙子组件都会重新渲染5。1父传子props
  函数式组件子组件的函数接收形参props获取父组件传递的数据父组件importReact,{useState}fromreact导入子组件importSonfrom。。componentsSonSonexportdefaultfunctionApp(){定义数据let〔name,setName〕useState(张麻子)更改数据constchangeName(){setName(黄四郎)}return({使用子组件并传递数据静态数据和动态数据}Sontitle我是爸爸组件传递的标题name{name}buttononClick{changeName}更改数据button)}子组件importR导入子组件定义子组件时通过形参接收propsexportdefaultfunctionSon(props){接收数据对象解构获取单个数据let{name,title}propsreturn(h1{title}h1h2{name}h2我是子组件)}5。2子传父子组件调用父组件传入的函数父组件传递定义一个函数传递给子组件
  子组件获取这个函数,并且调用该函数,调用时写入要传递的数据父组件importReactfromreact导入子组件importSonfrom。。componentsSonSonexportdefaultfunctionApp(){定义一个函数传递给子组件子组件接收调用该函数并回传数据constgetData(data){console。log(data);打印获取的数据}return({使用子组件并传递数据静态数据和动态数据}SongetSonData{getData})}子组件importR导入子组件定义子组件时通过形参接收propsexportdefaultfunctionSon(props){获取父组件传递的函数let{getSonData}在事件中调用父组件传递过来的函数并传入数据constsendData(){getSonData(我是子组件传给爸爸组件的数据)}return(buttononClick{sendData}传递数据给父组件button)}
投诉 评论 转载

我还以为一天,阿凡提和儿子骑着驴经过一片空地时,看见一群人在拼命地转着圈。阿凡提觉得非常好玩,便加入到他们的行列也试着转了起来。阿凡提飞快的旋转赢得了一阵喝采。不过他没转几圈;就……iOS微信更新,新增视频通话悬浮窗想必不少小伙伴已经知道了,近期腾讯微信团队推送了安卓微信8。0。27测试版的更新。不过有一点小伙伴们可能有所不知,其实除了安卓微信更新了以外,iOS微信也是发布了新版本。……社保缴纳最低档,交15年,退休后可领多少养老金?社保问题一直以来都是人们非常关注的问题,国家经过了几十年时间的发展,如今我国在社会保障体系方面取得了非常大的成就,尤其是现在国家经济不断的增长,也能够拿得出更多的钱来照顾老百姓……国家卫健委昨日新增本土确诊病例188例9月12日024时,31个省(自治区、直辖市)和新疆生产建设兵团报告新增确诊病例242例。其中境外输入病例54例(上海14例,广东12例,福建11例,天津8例,四川3例,北京2……万里扬购得每年4万吨铝制品铸造产能指标中证网讯(王珞)近日,万里扬(002434)公告称,公司全资子公司浙江万里扬新材料有限公司(简称万里扬新材料)与衢州永创铝业有限公司(简称永创铝业)签署了《铸造产能置换协议》。……年度公司领导履行一岗双责党风廉政建设主体责任情况2020年上半年公司全体成员始终按照党风廉政建设责任书的要求,认真贯彻落实集团公司党委关于党风廉政建设责任制的各项规定,与时俱进,开拓创新,强化职责,采取有力措施切实抓落实、抓……印度东北部洪灾至少32人死亡来源:新华网6月18日,在印度阿萨姆邦霍杰伊地区,受灾村民乘船抵达安全地带。据印度媒体18日报道,印东北部阿萨姆邦和梅加拉亚邦连日暴雨引发洪灾,过去两天已导致至少3……早晨十分钟护肤小窍门拥有美肌一整天美丽计时:第12分钟温柔清洁肌肤(醒肤)很多人都喜欢在晚上才彻底清洁肌肤,而忽视了早上的清洁工作。其实这是不对的,因为晚上是肌肤排毒时间,会代谢出很多堵塞、油垢,而……隐入尘烟的6个隐藏细节你看懂了吗?真是处处戳心《隐入尘烟》这部电影曾在年初,入围柏林电影节主题竞赛单元,刚刚接触预告片的时候,可能觉得没什么能够吸引观众的地方,像是一部情节少,抒情多的文艺片。结果当我走进影院,场景的……react函数式组件语法1。useState函数data的定义hookreact16。8新增的变量定义方式在函数式组件中代替state定义变量useState()会返回一个数组中携带两个参数,一……网易严选茅台好抢吗网易严选这几天预约抢茅台的活动大家参加了吗?相信很多人都不知道这个活动,其实抢到就是赚到,花1499元抢茅台,加钱卖出,买到就是赚到!下面,我们来看看网易严选茅台选购技巧吧!……汨罗江畔酹诗魂诗云:汨罗江畔呜呜声,犹闻屈子在行吟。去年仲夏,应大学同窗周兄盛情相邀,我怀揣儿时的憧憬,以朝圣般的虔诚,有幸造访屈子昔日行吟之地汨罗。一、汨罗江的前世今生史……
2022最不值得买的3款华为手机,都是高价低配,却还是有人入女王和帕丁顿熊白金禧年派对上演了一段小品!画风简直太可爱啦兴趣爱好是治愈一切的良药出口下降后,美国大量芯片被囤积,再次将目光投向中国?超长40天三伏即将开始,3个日常习惯要注意,调理好了冬天不愁关税战没完,美国又想和中国打芯片战,专家提醒别让台积电跑了调整国家法定假日的建议两取消一增加后续雷克萨斯LM事故官方通报,一名被困人员不幸遇难奔五奔六别再穿地摊货,今年流行的香云纱,贵气大方又得体缓解办学压力!朝阳新城今年启动建设1所新学校郁闷的平姐资本弃子唐嫣用4万块手机壳,却因给资本赔罪喝进医院
国际原油市场价格上涨每桶突破80美元大关李易峰把自己卖给了富豪千金,恐去泰国出道,千万赔偿款小菜一碟鸽子多久可以繁殖数学不难学解决方法都在这里研究:农村基建投融资遭遇困难和挑战;双汇发展:加码预制菜热议 新人友好76守望先锋简单操作全场最佳捉奸不一定要在床上我的家乡小学四年级优秀作文全球变暖正在影响地球自转?科学家地球一天已不足24小时公房使用权离婚时怎么分割利川春雨忠路水墨仙境眼霜有用吗眼霜到底有没有用的必要

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找菏泽德阳山西湖州宝鸡上海茂名内江三亚信阳长春北海西安安徽黄石烟台沧州湛江肇庆鹤壁六安韶关成都钦州