问题描述
在我的 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 (将#修改为@)