我將一個類組件轉換為函陣列件。問題是我需要將 this.setState 轉換為 useState 掛鉤。我試圖弄清楚如何將以下內容更改為 useState 掛鉤
state = {
services: {},
};
zeroconf.on('resolved', data => {
this.setState({
services: {
...this.state.services [data.host]: data,
},
});
}
我需要轉換為 useState 掛鉤,但不確定如何。以下是我嘗試過的
const [services, setServices] = useState({});
zeroconf.on('resolved', data => {
setServices(services:{...services [data.host]: data})
zeroconf.on('resolved', data) 是一個事件監聽器,來自 data 的資訊是:
{
"port": 51484,
"txt": {},
"addresses": [
"127.0.0.1",
"::1",
"fe80::1",
"192.168.0.10",
"fe80::46e"
],
"name": "printer",
"fullName": "Book-Pro.local._printer._tcp.",
"host": "Book-Pro.local."
}
uj5u.com熱心網友回復:
只需將物件提供給它,并接受引數以獲取services.
const [services, setServices] = useState({});
zeroconf.on('resolved', data => {
setServices(currentServices => ({...currentServices, [data.host]: data}));
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/437279.html
標籤:javascript 反应 反应式
下一篇:從ISO獲取可讀日期
