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

网站怎么做关键词研究WordPress上传ftp设置

网站怎么做关键词研究,WordPress上传ftp设置,计算机学习网站,做视频网站的公司大家好#xff0c;我是DX3906。 最近遇到React高阶组件中Refs 不会被传递的问题。 在这里总结一下解决方案和解决思路#xff1a;主要是通过从内向外和从外向内2种思路来分析解决的。 目录 前言 解决方案一#xff1a;React.forwardRef 解决方案二#xff1a;使用prop…大家好我是DX3906。 最近遇到React高阶组件中Refs 不会被传递的问题。 在这里总结一下解决方案和解决思路主要是通过从内向外和从外向内2种思路来分析解决的。 目录 前言 解决方案一React.forwardRef 解决方案二使用props传递ref 结语 前言 虽然高阶组件的约定是将所有 props 传递给被包装组件但这对于 refs 并不适用。那是因为 ref 实际上并不是一个 prop - 就像 key 一样它是由 React 专门处理的。如果将 ref 添加到 HOC 的返回组件中则 ref 引用指向容器组件而不是被包装组件。 在React中Ref是一个React对象它用于访问DOM节点或组件实例。当你使用高阶组件封装组件时被封装的组件的Ref可能不会被传递到高阶组件的外部。这是因为高阶组件创建了一个包装组件它接收原始组件作为prop并且通常会创建一个新的ref来引用它。 解决方案一React.forwardRef 解决这个问题的方法之一是使用React的React.forwardRef函数。forwardRef允许你将一个ref传递给子组件这样即使组件被高阶组件封装ref也能正确地传递到最底层的组件。 下面是一个使用React.forwardRef的示例 import React, { forwardRef } from react;const EnhancedComponent React.forwardRef((props, ref) {// 将ref传递给被封装的组件return WrappedComponent {...props} forwardedRef{ref} /; });const WrappedComponent forwardRef((props, forwardedRef) {// 使用forwardedRef来访问DOM或组件实例return div ref{forwardedRef}.../div; });// 使用时ref将被传递到WrappedComponent的div元素 const ref React.createRef(); EnhancedComponent ref{ref} /; 在这个例子中EnhancedComponent是一个高阶组件它使用forwardRef来接收一个ref并将其传递给WrappedComponent。WrappedComponent也使用forwardRef来接收这个ref并将其应用到内部的DOM元素上。 使用forwardRef可以确保无论组件被多少层高阶组件封装ref都能正确地传递到最底层的组件。这使得你可以在需要的时候访问DOM节点或组件实例而不受高阶组件的影响。 解决方案二使用props传递ref 第一步我们把ref 添加到 HOC 的返回组件中则 ref 引用指向容器组件而不是被包装组件。 第二步在HOC 把被组装的组件的ref赋值给高阶组件外层的一个instance对象。然后使用第一步中的ref调用instance对象。 具体案例如下 function withSubscription(WrappedComponent, selectData) {return class extends React.Component {constructor(props) {super(props);this.state {data: selectData(props) // 初始状态};this.instance;}componentDidMount() {// 订阅数据源const { subscribe } this.props;subscribe(data this.setState({ data }));}componentWillUnmount() {// 取消订阅const { unsubscribe } this.props;unsubscribe();}render() {// 将数据和原始props传递给WrappedComponentreturn WrappedComponent ref{(node){this.instance node}} {...this.props} /;}}; } import React,{useEffect,useRef} from react function WithShow(props) {let cusRef useRef(null);useEffect((){cusRef.current.instance.被包装组件的方法()})// 使用高阶组件const MyComponentWithData withSubscription(MyComponent, props {// 根据props选择数据return someDataSource.getData(props.id);});// 然后在你的应用中使用MyComponentWithDatareturn() {// 获取Hoc外层组件的refreturn MyComponentWithData ref{cusRef} {...this.props} /;}}; } 结语 如果此文对你有帮助的话欢迎关注、点赞、⭐收藏、✍️评论支持一下博主~
http://www.hkea.cn/news/14542735/

相关文章:

  • 网站开发报价标准怎样在百度做网站表白
  • 年底 网站备案网站介绍ppt怎么做
  • 网站推广公司排名方案如何用博客网站做cpa
  • 免费试用网站 源码镇江网站设计公司报价
  • 如何利用ps做网站怎样创建设计公司网站
  • 广州黄埔区建设局网站局推广小程序的营销策略
  • 广州企业网站建设公司网站建设与推cctv-10
  • 网站门户建设流程apple 官网
  • 深圳福田做网站公司济宁建设局官方网站
  • 北京招聘网站建设网站建设工作总结
  • 网站12栅格系统怎么做地推团队如何收费
  • 最少的钱怎么做网站上海哪个网站最好用
  • 电话语音聊天网站建设多少钱wordpress 顶部菜单
  • 温州 网站建设wordpress禁用文章修订
  • 廊坊哪些公司做网站合肥最新通知今天
  • 简述企业网站的建设过程wordpress安装主题提示错误
  • 公司做卖网站有前景吗这样建立网站
  • 教育网站开发公司网页设计与制作大全
  • 网站建设需要服务器支持 吗网络宣传的方法
  • 设计广告网站青海省建设厅网站职称评审表
  • 周村网站建设丹东市市政建设总公司
  • 备案期间怎么访问网站wordpress install.php 空白
  • 北海 网站建设 公司清空网站空间
  • 震天建设集团网站代码网站建设
  • 快递公司网站怎么做wordpress 文章页显示
  • 企业网站建设实训报告体会fotor懒设计
  • 做网站 什么语言市场营销网络
  • 定制开发小程序报价seo关键词使用
  • 淘宝客网站htmlphpcms v9
  • 新浪做网站怎么在百度上设置自己的门店