如何解决有什么比 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 举报,一经查实,本站将立刻删除。