简体   繁体   English

React Native 中如何将 State 转换为 useState hook?

[英]How to convert State to useState hook in React Native?

I converted a class component to function component.我将 class 组件转换为 function 组件。 The issue is that I need to convert this.setState to useState hook.问题是我需要将 this.setState 转换为 useState 挂钩。 I'm trying to figure out how to change the following to the useState hook我想弄清楚如何将以下内容更改为 useState 挂钩

state = {
    services: {},
  };

zeroconf.on('resolved', data => {
   this.setState({
          services: {
            ...this.state.services [data.host]: data,
          },
        });
}

I need to convert to useState hook but not sure how.我需要转换为 useState 挂钩但不确定如何。 Below is what I have tried以下是我尝试过的

const [services, setServices] = useState({});

zeroconf.on('resolved', data => {
  setServices(services:{...services [data.host]: data})

zeroconf.on('resolved', data) is a event listener and the information from data is: 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."
}

Just feed it the object, and take in the argument to get the most up to date value of services .只需将 object 提供给它,并接受参数以获得最新的services价值。

const [services, setServices] = useState({});

zeroconf.on('resolved', data => {
  setServices(currentServices => ({...currentServices, [data.host]: data}));
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM