React React.createRef(), React.forwardRef() 的简单 demo

本文通过一个简单的 demo 演示了在 React 中如何使用 React.createRef() 简化 ref 的声明和使用,以及如何利用 React.forwardRef() 将上级组件的 ref 传递给下级组件,以便在上级组件中访问下级组件的目标节点。注意,函数组件不能直接使用 ref 属性。
摘要由CSDN通过智能技术生成

在 react 中使用 ref 是件挺麻烦的事, 首先要声明一个变量 _ref, 再把变量带到目标节点的 ref 属性中, 用箭头函数声明个临时变量 i, 并把这个临时变量 i 传给 _ref

// 不完整代码
...
let refElement
...
<div ref={
   i => refElement = i}></div>
...

React.createRef() 方法可以简化这个步骤

// 不完整代码
...
let refElement2 = React.createRef();
...
<div ref={
   refElement2}></div>
...

React.forwardRef() 创建一个React组件, 可以把上级 ref 转发(传递) 给下级组件, 继而可以在上级组件中获取下级目标

注:

  • 不能在函数组件上使用 ref 属性,因为他们没有实例
  • 函数式组件, class 组件里都可以使用 React.createRef(), 差别只是要加上 this

demo

import React from "react";

class Bpp extends React.Component {
   
	render() {
   
		return (
			<div>{
   this.props
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值