1

我有一种情况,我想从另一个不是直接或密切的父/子关系的组件滚动到一个 React 组件。

该结构可以解释如下:

Component A > a parent > a parent > a parent > a parent > a parent > a parent > a child > a child > Component B

如您所见,它根本不是直接的。如果关系是直接的,甚至是祖父母/孙子,我通常会通过参考。但是在这种情况下,我需要通过 10 个左右的文件传递 ref 才能访问它,这似乎很荒谬。

我知道我可以使用document.getElementById(或类似的),但想知道是否有办法通过 ref 或 React 中的类似方法来做到这一点?

4

1 回答 1

0

你可以试试React Context。将 Context Provider 放在 Component A 中,将 Context Consumer 放在 Component B 中。B 可以通过 Context 将其 ref 传递给 A,反之亦然

于 2020-02-07T06:29:30.450 回答