为什么行为不同?

直矢

createRef和ref = {(c)=> this.el = c}有什么区别?

当我输出时,每个ref都具有相同的元素,但不是false。

为什么?

import React from "react"

class Home extends React.Component {
constructor(){
  super();
  this.el1 = React.createRef();
}

componentDidmount(){
  console.log(el1 === el2) // false   why false?
}

render(){
  return (
    <>
      <div ref={this.el1}>
        <span>A</span>
      </div>
      <div ref={(c)=> { this.el2 = c }}}>
        <span>A</span>
      </div>
    </>
  )
}
索艾尔·阿什拉夫(Sohail Ashraf)

在代码中,两个ref都指向两个不同的DOM节点,这就是为什么它们不相同的原因。

createRef返回DOM节点或组件的已安装实例,具体取决于调用位置。无论哪种方式,您所拥有的确实确实很简单。但是,如果您想对该参考进行某些操作呢?如果要在安装组件时执行该怎么办?

Ref回调非常有用,因为它们在componentDidMount和componentDidUpdate之前被调用。这就是您如何对ref进行更细粒度的控制。现在,您不仅要强制性地获取DOM元素,还需要在React生命周期中动态更新DOM,而且可以通过ref API对DOM进行细粒度访问。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么slice [] struct与[] builtin的行为不同?

来自分类Dev

为什么对v,w的分配行为不同?

来自分类Dev

为什么constexpr函数的行为与参考不同?

来自分类Dev

为什么转换矩阵的行为不同

来自分类Dev

为什么我对swicthAll有不同的行为

来自分类Dev

为什么变量在循环外的行为不同?

来自分类Dev

为什么这些代码块的行为不同?

来自分类Dev

来源与 为什么会有不同的行为?

来自分类Dev

为什么/ * * /注释的行为不同?Javascript错误?

来自分类Dev

为什么jQuery的行为与javascript不同?

来自分类Dev

为什么 ghci 的行为与 runHaskell 不同?

来自分类Dev

程序行为在不同的系统上是不同的。为什么呢?

来自分类Dev

为什么递归调用的不同位置的递归行为不同

来自分类Dev

为什么listFiles()在不同平台上的行为不同?

来自分类Dev

为什么mean()在空的DataFrame上有不同的行为?

来自分类Dev

为什么嘲笑.patch.multiple与默认行为不同?

来自分类Dev

为什么while修饰符的行为与块不同?

来自分类Dev

为什么sum(DF)的行为与DF.sum()不同?

来自分类Dev

为什么我观察到回声的不同行为?

来自分类Dev

为什么Mysql的Group By和Oracle的Group by行为不同

来自分类Dev

使用Jsoup解析网页。为什么Android上的行为不同?

来自分类Dev

相同的链表在groovy和Java之间的行为不同,为什么

来自分类Dev

为什么两个线程实现的行为不同?

来自分类Dev

为什么getattr的行为与手动更新对象不同

来自分类Dev

为什么<span>标记与<div>标记的行为不同?

来自分类Dev

为什么除数接近零在python中有不同的行为?

来自分类Dev

为什么width:auto行为不同于height:auto?

来自分类Dev

地图与清单;为什么会有不同的行为?

来自分类Dev

为什么datetime.utcnow的行为与freezegun的预期不同?

Related 相关文章

  1. 1

    为什么slice [] struct与[] builtin的行为不同?

  2. 2

    为什么对v,w的分配行为不同?

  3. 3

    为什么constexpr函数的行为与参考不同?

  4. 4

    为什么转换矩阵的行为不同

  5. 5

    为什么我对swicthAll有不同的行为

  6. 6

    为什么变量在循环外的行为不同?

  7. 7

    为什么这些代码块的行为不同?

  8. 8

    来源与 为什么会有不同的行为?

  9. 9

    为什么/ * * /注释的行为不同?Javascript错误?

  10. 10

    为什么jQuery的行为与javascript不同?

  11. 11

    为什么 ghci 的行为与 runHaskell 不同?

  12. 12

    程序行为在不同的系统上是不同的。为什么呢?

  13. 13

    为什么递归调用的不同位置的递归行为不同

  14. 14

    为什么listFiles()在不同平台上的行为不同?

  15. 15

    为什么mean()在空的DataFrame上有不同的行为?

  16. 16

    为什么嘲笑.patch.multiple与默认行为不同?

  17. 17

    为什么while修饰符的行为与块不同?

  18. 18

    为什么sum(DF)的行为与DF.sum()不同?

  19. 19

    为什么我观察到回声的不同行为?

  20. 20

    为什么Mysql的Group By和Oracle的Group by行为不同

  21. 21

    使用Jsoup解析网页。为什么Android上的行为不同?

  22. 22

    相同的链表在groovy和Java之间的行为不同,为什么

  23. 23

    为什么两个线程实现的行为不同?

  24. 24

    为什么getattr的行为与手动更新对象不同

  25. 25

    为什么<span>标记与<div>标记的行为不同?

  26. 26

    为什么除数接近零在python中有不同的行为?

  27. 27

    为什么width:auto行为不同于height:auto?

  28. 28

    地图与清单;为什么会有不同的行为?

  29. 29

    为什么datetime.utcnow的行为与freezegun的预期不同?

热门标签

归档