下面是我的代码块,我要在其中更新来自mqtt的动态数据以追加到列表中。 数据将每秒在MQTT中发布。
const [liveData, setLiveData] = useState([]);
mqttClient.on('message', (topic, payload) => {
// console.log('mqttClient payload message: ', topic, payload.toString());
const msg = JSON.parse(payload.toString());
{
msg && msg.map((itm) => {
setLiveData(prevLiveData => ({
...prevLiveData, [itm["tag"]]: itm["value"]
}))
setLiveData(prevLiveData => ({
...prevLiveData, [itm["tag"] + "-timestamp"]: [parseInt(itm["timestamp"]) * 1000, parseFloat(itm["value"])]
}));
})
}
});
使用上面的代码,我只获得列表中的最后一条记录。