我已经搜索在不同的可能的答案,但没有找到任何合适的解决此特定错误。
我刚才提到的问题的标题确切的错误字符串。当我在fetch
应用程序安装ReactNative
NPM模块此错误开始出现。出现此错误只是在时间应用启动/开发过程中加载我的手机上。安装fetch
之前,我的应用程序是正确加载在手机上。在Windows的命令行没有这帮助我解决这个问题这样的错误,它只是显示构建成功。
我使用Expo
我ReactNative
应用开发。请在这方面协助解决问题。进一步的细节可以在下面的附加屏幕中可以看出(示出堆栈跟踪):
的package.json
{
"name": "my-new-project",
"main": "node_modules/expo/AppEntry.js",
"private": true,
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"eject": "expo eject",
"test": "node ./node_modules/jest/bin/jest.js --watchAll"
},
"jest": {
"preset": "jest-expo"
},
"dependencies": {
"@expo/samples": "2.1.1",
"expo": "29.0.0",
"fetch": "^1.1.0",
"react": "16.3.1",
"react-native": "https://github.com/expo/react-native/archive/sdk-29.0.0.tar.gz",
"react-navigation": "^2.9.3"
},
"devDependencies": {
"jest-expo": "29.0.0"
}
}
这是一个很奇怪的问题,当我卸载fetch
并尝试使用例如任何其他库axios
,仍然显示参照相同的错误(抓取模块相关的)。我已经重新启动我的笔记本电脑的机器,并在移动重启Expo
应用也是如此。
它看起来像问题是由whatwg-fetch
的新版本产生。该解决方案,这对我的作品是明确将旧版本:
npm i [email protected]
或
yarn add [email protected]
从here液中取出
在我的身边,我每次关机触发的错误,并重新启动电脑(我开发在Ubuntu 16.04)。
我用了一个旧的答案(2016),它完全解决了该问题:
我说:
global.self = global;
进入主js
文件。
所有的一切都恢复正常。
qazxsw POI是在qazxsw POI(最新版)
我想取1.1.0不能很好地工作在本地做出反应,因为阵营本地使用JS核心的NodeJS没有。我更喜欢你使用的库expo-cli
或内置“取”的阵营原生(2.2.4
)。
axios
例
https://facebook.github.io/react-native/docs/network.html
要么
npm install axios --save
我已经想通了,基本上它是不是// Want to use async/await? Add the `async` keyword to your outer function/method.
async function getUser() {
try {
const response = await axios.get('/user?ID=12345');
console.log(response);
} catch (error) {
console.error(error);
}
}
既不故宫const axios = require('axios');
// Make a request for a user with a given ID
axios.get('/user?ID=12345')
.then(function (response) {
// handle success
console.log(response);
})
.catch(function (error) {
// handle error
console.log(error);
})
.then(function () {
// always executed
});
// Optionally the request above could also be done as
axios.get('/user', {
params: {
ID: 12345
}
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
})
.then(function () {
// always executed
});
组件的问题。设置项目后,基本上我跑npm
该消息已出现在CLI当我尝试运行fetch
或npm install expo-cli
。在这个时候有新版本可用expo start
,并且是在npm start
参考问题是中老年v30.x.x
版本,但不是在self
。
安装expo
后,将其不匹配,以我现有的项目博览会的配置和安装的文件,所以我重新安装一次该项目,加载并安装最新版本图书馆和coppied项目文件进去。
呯!该应用程序运行,没有任何错误这一次。