【发布时间】:2016-11-12 22:27:38
【问题描述】:
我开始学习 React。不同网站的一些人告诉大家,使用 refs 是一种不好的做法(是的,完全使用它们)。
真正的处理是什么?我将它附加到子组件(这样我可以访问内部的东西)是不是很糟糕?
谢谢!
【问题讨论】:
-
是的,它破坏了封装。为什么要通过 ref 访问子组件?你应该只通过道具在组件之间说话。如果它变得混乱,添加 Redux 来帮助管理状态。
-
@ZekeDroid 主要是做一些非数据驱动的活动。 “刷新”是最常见的一种。另一种方法是使用某种合成状态传递给孩子(如
hasToRefresh或类似的)。至少可以说也不理想。 -
@ZenMaster 必须刷新 IS 数据驱动。您只会在某些状态更改后刷新,因此您不应该直接访问 DOM。一旦您手动刷新某些内容,您的状态就不再受控制,您必须开始阅读 DOM 才能了解内容(即,它是否完成刷新?)
-
@ZekeDroid 绝对不是。父级上可能只有一个“刷新”按钮。在这一点上 - 需要刷新孩子。
-
老实说,我喜欢你的观点。我讨厌把事情看成表面上的价值,即使在这种情况下我已经亲身体验过,我很想听听更多。您介意回答这个问题并举一个您认为可以使用 refs 的示例吗?
标签: javascript reactjs refs