我觉得用
forwardRef
和 useImperativeHandle
完成的繁琐工作可以通过父级中的常规引用(来自 useRef()
)来完成,作为道具传递给子级,反过来将其填充到 useEffect()
中
。难道我错了?
将 ref 作为 prop 传递并将其填充到
useEffect
中的方法可以在简单的情况下工作。但它有一些缺点:
useImperativeHandle
允许您显式定义组件的公共 API。您可以只公开您想要的方法,而不是整个 DOM 节点或组件实例。这有助于保持更好的封装和更干净的 API。不过我想你也不是完全错了。