微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有什么比 refs 更好的方法来重新渲染多个组件之一吗?

如何解决有什么比 refs 更好的方法来重新渲染多个组件之一吗?

在我的 ReactJS 应用程序中,我需要显示从远程服务器获取的设备列表。它看起来像这样:

<App>
  {this.state.devices}
</App>

获取数据后,devices 状态将更新(更新为元素数组),因此应用程序将如下所示:

<App>
  <Device name="LH2" status="..."/>
  <Device name="LH3" status="..."/>
</App>

在呈现所有设备组件后,我希望我的应用程序检查任何设备状态的任何更改(通过使用 WebSocket 或不断获取服务器)并重新呈现它。我确实想过修改状态 devices 但如果我理解正确,所有 <Device /> 元素都将重新呈现,而其中一个或几个元素实际上会发生变化。在这种情况下,使用 refs 是我能想到的最好方法

<App>
  <Device ref={refs[0]} name="LH2" status="..."/>
  <Device ref={refs[1]} name="LH3" status="..."/>
  ...
</App>

使用 refs,我不需要更新 devices 的状态,这可能会触发完整的重新渲染。我可以在需要时直接修改任何 <Device /> 元素。

但是我想知道是否有更好的方法来做到这一点?或者我什至需要首先使用 state.devices 吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。