【问题标题】:How to get device ip - Expo React Native如何获取设备 ip - Expo React Native
【发布时间】:2021-06-04 22:43:19
【问题描述】:
如何使用 React Native 和 Expo 获取设备的 ip,
我正在尝试这个,我在警报中看到的只是 [object promise]。
我在模拟器和浏览器上运行应用程序..
import * as Network from 'expo-network';
alert(Network.getIpAddressAsync());
【问题讨论】:
标签:
reactjs
react-native
ip
expo
【解决方案1】:
Network.getIpAddressAsync() 返回一个Promise,所以你需要先解决它。
import * as Network from 'expo-network';
const ipAlert = async () => {
const ip = await Network.getIpAddressAsync()
alert(ip);
};
ipAlert();
【解决方案2】:
正如documentation 中所写,Network.getIpAddressAsync() 方法返回一个 Promise,该 Promise 解析为设备主网络接口的当前 IP 地址的字符串。
由于这个事实,您需要等待 promise 完成,因为它是异步的。
您可以通过在其前面附加 await 关键字来做到这一点,如下所示:
await Network.getIpAddressAsync();
或者在之后链接一个 then 函数,像这样:
Network.getIpAddressAsync().then(function(address) {
//Your logic here
});