为什么不能在反应中将 ref 传递给功能组件?

时间:2021-01-27 11:29:28

标签: reactjs react-ref

为什么不能在 React 中将 ref 传递给功能组件?

与不能传递 ref 的类组件相比,函数组件有什么不同?

为什么不可能?

注释:我提出这个问题,因为我总是看到有关如何将 ref 与功能组件一起使用的解释,以及您需要使用 fowardRef,但没有人解释如何react 处理功能组件,因此无法向它传递 ref,它总是解释如何做到这一点,但从来没有为什么你需要这样做。

1 个答案:

答案 0 :(得分:1)

有两个方面:

  • 函数组件没有 ref 属性,因为它们没有类组件那样的实例。因此,您必须将 REF 转发到其中的任何其他元素。
  • 您不能使用保留的 ref 道具。

但是,您可以使用其他属性名称,例如 innerRef 并使用 if 进行转发。

通过示例查看更详细的答案:Why, exactly, do we need React.forwardRef?