美文网首页程序员Web前端之路
react获取循环列表的ref

react获取循环列表的ref

作者: 朱小维 | 来源:发表于2020-07-03 10:35 被阅读0次

react 项目中有时会需要用到ref去获取节点的真实dom对象,在函数组件中官方推荐使用useRef

我在渲染列表时想获取所有li的dom元素,根据官方文档中的demo,我写出了下面的代码,点击button时打印ref的值

import React, { useRef } from 'react';

export default function Demo() {
  const list = [1, 2, 3, 4, 5];
  const liRef = useRef();
  return (
    <ul>
      {
        list.map(item => {
          return <li ref={liRef} key={item} id={'myli' + item}>{item}</li>
        })
      }
      <button onClick={() => console.log(liRef.current)}>getRef</button>
    </ul>
  )
}

但是结果不尽如人意


image.png

搜索了许久,返现标签的ref属性,可以传入函数,在函数中自定义接受逻辑,于是改进了代码:

import React, { useRef } from 'react';

export default function Demo() {
  const list = [1, 2, 3, 4, 5];
  const liRef = useRef();
  const liRefList = useRef([])
  function getRef(dom) {
    liRefList.current.push(dom)
  }
  return (
    <ul>
      {
        list.map(item => {
          return <li ref={liRef} key={item} id={'myli' + item}>{item}</li>
        })
      }
      <button onClick={() => console.log(liRef.current)}>getRef</button>
      {
        list.map(item => {
          return <li ref={getRef} key={item} id={'my-list-item' + item}>{item}</li>
        })
      }
      <button onClick={() => console.log(liRefList.current)}>getRefList</button>
    </ul>
  )
}

得到想要的结果:


image.png

相关文章

  • react获取循环列表的ref

    react 项目中有时会需要用到ref去获取节点的真实dom对象,在函数组件中官方推荐使用useRef 我在渲染列...

  • React学习笔记(三)

    React中的 ref 的使用 ref是一个引用,在React中使用ref来直接获取DOM元素从而操作DOM Re...

  • React获取DOM

    React获取DOM的方法简述 createRef 当 ref 属性在组件时,获取组件实例;当ref属性在dom时...

  • react获取ref

    获取子组件的dom,参考官网ref转发或者父子组件、高阶组件文章

  • react ref获取真实dom

    之前一直用ref获取,没觉得有什么问题,但是获取封装的组件获取到的却是React对象,而不是dom元素。 ref获...

  • React 相关

    使用 Facebook 的 create-react-app 通过 ref 获取宽高 PropTypes 的种类

  • react-ref

    ref:react对真实dom的引用 ref在reactElement上 ref在react组件上

  • React中ref的使用

    React中Ref是什么? ref是React提供的用来操纵React组件实例或者DOM元素的接口。 ref的作用...

  • 【python基础】7-列表

    列表变量赋值 列表切片和修改 列表拷贝 列表方法和混杂 循环 列表推导式 获取列表作为用户输入 从列表中获取随机元...

  • 如何使用React Refs

    如何在React中利用ref以及ref转发,回调ref和HOC React Ref是有用的功能,可作为从父组件中引...

网友评论

    本文标题:react获取循环列表的ref

    本文链接:https://www.haomeiwen.com/subject/mdglfktx.html