【发布时间】:2020-08-12 18:36:12
【问题描述】:
我有一个自定义的React 组件Foo,它包含另一个自定义组件SubFoo,它又包含一个内联库组件<Bar/>。从Foo 我需要访问一个函数, BarFunc,由<Bar/>返回。不幸的是,<Bar/> 未设置为与refs 一起使用 - 当我尝试将ref 传递给<Bar/>(使用Foo 转发到SubFoo 使用React.forwardRef())时,我得到@ 987654336@.
但是,在SubFoo 中有一个div 是<Bar/> 的父级,如果我将ref 传递给这个div,我会得到一个HTMLDivElement。
鉴于我的HTMLDivElement,有什么方法可以执行BarFunc?
【问题讨论】:
-
遗漏了-
HTMLDivElement来自div返回的ref的第一个孩子 -
您是说您有一个返回
function的组件,还是您是说您有一个功能组件Bar不能使用ref来返回一个带有您想要访问的BarFuncAPI 的子组件?如果是前者,SubFoo使用的函数如何(因为据我了解,如果() => "Magic"从组件作为函数返回,React 不知道如何渲染它)? -
你能给我们一些代码吗?
-
我有一个返回一些 HTML 的组件以及一个
function。Bar的文档实际上将此函数称为“返回值”(该文档本质上只是props和返回值的列表)。function不被SubFoo使用,div+ 组件只是由SubFoo返回并带有某些props。Foo发生某个事件时我需要调用它 -
@7iiBob 这是一个小提琴。实际上,除了
onClick之外,还有更复杂的事情发生,但包括在内只会让jsfiddle.net/h4fucgsq 变得更混乱@
标签: javascript reactjs