Convertí un componente de clase en un componente de función. El problema es que necesito convertir this.setState en useState hook. Estoy tratando de averiguar cómo cambiar lo siguiente al enlace useState
state = { services: {}, }; zeroconf.on('resolved', data => { this.setState({ services: { ...this.state.services [data.host]: data, }, }); }Necesito convertir a useState hook pero no estoy seguro de cómo. A continuación se muestra lo que he intentado
const [services, setServices] = useState({}); zeroconf.on('resolved', data => { setServices(services:{...services [data.host]: data})zeroconf.on('resolved', data) es un detector de eventos y la información de los datos es:
{ "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." }Solo aliméntelo con el objeto y tome el argumento para obtener el valor más actualizado de los services .
const [services, setServices] = useState({}); zeroconf.on('resolved', data => { setServices(currentServices => ({...currentServices, [data.host]: data})); });