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

南昌做网站的公司湖南网站推广公司

南昌做网站的公司,湖南网站推广公司,做网站开发的集团,apache 配置网站地址高阶组件 参考文档:高阶组件 – React (reactjs.org) 高阶组件(Higher-Order Components,简称 HOC)是React中用于复用组件逻辑的一种高级技巧。具体而言:高阶组件是参数为组件,返回值为新组件的函数。 组件…

高阶组件

        参考文档:高阶组件 – React (reactjs.org)

        高阶组件(Higher-Order Components,简称 HOC)是React中用于复用组件逻辑的一种高级技巧。具体而言:高阶组件是参数为组件,返回值为新组件的函数

        组件是将 props 转换为 UI,而高阶组件是将组件转换为另一个组件。

        HOC 在 React 的第三方库中很常见,例如 Redux 的 connect 和 Relay 的 createFragmentContainer。

        此处不再搬运高阶组件具体如何使用的部分,详情参考React官网文档即可。

ref转发:forwardRef

        forwardRef函数的作用,

forwardRef 允许组件使用 ref 将 DOM 节点暴露给父组件。

        简单讲:就是让子级函数式组件除了props参数之外,额外拥有第二个参数ref;之后就可以在父组件中拿到这个ref,从而去调用子组件中暴露出来的方法。

import { forwardRef } from 'react';const MyInput = forwardRef(function MyInput(props, ref) {// ...
});

        然后在父组件中,可以定义ref属性,来拿到子组件的引用,伪代码示例如下,

//这里是父组件
export default ()=>{const myInputRef = useRef();//调用方式://myInputRef.current.doXXX();return (<MyInput ref={myInputRef}/>);
}

 暴露句柄:useImperativeHandle

        那么,通过forwardRef转发给子组件的ref所调用的具体方法/句柄如何定义呢?

useImperativeHandle 是 React 中的一个 Hook,它能让你自定义由 ref 暴露出来的句柄。

useImperativeHandle(ref, createHandle, dependencies?)

        例如:以下代码就为MyInput组件提供了doSomething句柄,供父组件通过ref来调用,

import { forwardRef, useImperativeHandle } from 'react';const MyInput = forwardRef(function MyInput(props, ref) {useImperativeHandle(ref, () => {return {//向外暴露的句柄doSomething:() =>{console.log('here is children method!');return 'do-something'},};}, []);return <input {...props} />;
});

完整示例代码

子组件:MyInput

import { forwardRef, useImperativeHandle } from 'react';const MyInput = forwardRef(function MyInput(props, ref) {useImperativeHandle(ref, () => {return {//向外暴露的句柄doSomething:() =>{console.log('here is children method!');return 'do-something'},};}, []);return <input {...props} />;
});

父组件

//这里是父组件
export default ()=>{const myInputRef = useRef();//调用方式://myInputRef.current.doXXX();const clickHandler = ()=>{myInputRef.current.doSomething(/*params*/); }return (<><MyInput ref={myInputRef}/><button onClick={clickHandler}>click here</button></>);
}

http://www.hkea.cn/news/253147/

相关文章:

  • 移动应用开发专业学什么东莞seo软件
  • 做宣传网站的公司手机百度极速版app下载安装
  • 私人可以做慈善网站吗外贸如何推广
  • 网站页面模板页面布局如何成为百度广告代理商
  • 瑞安外贸网站建设曲靖百度推广
  • 先做网站还是服务器销售营销方案100例
  • 用卫生纸做的礼物街网站免费网页空间到哪申请
  • 手游网站做cpc还是cpm广告号厦门网页搜索排名提升
  • 人个做外贸用什么网站好宁波百度seo点击软件
  • 诈骗网站怎么做的企业网站seo案例分析
  • 如何做网站接口湖南营销型网站建设
  • 进入兔展网站做PPt软文营销ppt
  • app网站新闻危机公关
  • 东莞关键词优化实力乐云seo南宁seo外包服务商
  • 做网站都是用源码么免费注册个人网站不花钱
  • 建设网站需要两种服务支持官网设计公司
  • 安庆做网站seo建站收费地震
  • 绵阳住房和城市建设局网站官网seo排名优化联系13火星软件
  • 网站开发建设费用关键词异地排名查询
  • 网站建设企业电话广州优化疫情防控举措
  • 重庆模板网站建设百度网站域名注册
  • 安徽建设厅网站地址网络广告推广方式
  • 门户网站内容管理建设方案企业关键词优化推荐
  • 北京网站建设公司飞沐小学生一分钟新闻播报
  • 企业网站建设申请域名seo赚钱
  • 2017网站开发前景百度网盘资源链接入口
  • 平面广告设计主题seo是怎么优化上去
  • 正规网站制作公司哪家好四年级写一小段新闻
  • 济南网站建设安卓版快手seo
  • java开发兼职网站开发线上推广平台