firebase - 捆绑失败:SyntaxError:JSON 输入在本机反应中意外结束
问题描述
我在我的react native 项目中使用了firebase。当我尝试使用电子邮件和密码注册用户时,此错误即将到来。我正在使用窗口操作系统并且只有安卓渲染
注意: 我已阅读与此相关的所有问题,但没有任何帮助
新手反应原生。请以适当的方式指导
包.json
"firebase": "^5.8.2",
"native-base": "^2.11.0",
"react": "16.6.3",
"react-native": "^0.57.8",
"react-native-elements": "^0.19.1",
"react-native-firebase": "^5.2.2",
"react-native-gesture-handler": "^1.0.15",
"react-native-maps": "^0.23.0",
"react-native-svg": "^8.0.10",
"react-native-vector-icons": "^6.2.0",
"react-navigation": "^3.2.1"
注册代码
import * as firebase from 'firebase'
//Intiazlize firebase
const firebaseConfig = {
apiKey: "AIzaSyCUK5QkcvTcvfCKlbwnnI8GskIgcLGMcqA",
authDomain: "trailertracker-da09c.firebaseapp.com",
databaseURL: "https://trailertracker-da09c.firebaseio.com",
projectId: "trailertracker-da09c",
storageBucket: "",
}
firebase.initializeApp(firebaseConfig)
signUpUser = (email,password) => {
try{
if(this.state.password.length < 6 ){
alert("Please Enter Valid Email and Password")
return
}
firebase.auth().createUserWithEmailAndPassword(email,password)
} catch(err){
console.log(err)
}
}
完全错误是
加载依赖图,完成。错误:捆绑失败:SyntaxError:在 FileStore.get (F:\React Native\ReactProjects\trailer-tracker\TrailerTracker\node_modules\metro-cache\src\stores\FileStore.js 的 JSON.parse () 处 JSON 输入意外结束:26:19) 在 F:\React Native\ReactProjects\trailer-tracker\TrailerTracker\node_modules\metro-cache\src\Cache.js:76:40 在 Generator.next () 在步骤 (F:\React Native\ ReactProjects\trailer-tracker\TrailerTracker\node_modules\metro-cache\src\Cache.js:18:30) 在 F:\React Native\ReactProjects\trailer-tracker\TrailerTracker\node_modules\metro-cache\src\Cache.js :37:14 at new Promise () at F:\React Native\ReactProjects\trailer-tracker\TrailerTracker\node_modules\metro-cache\src\Cache.js:15:12 at Cache.get (F:
这是firebase中的另一个错误或错误吗?
帮助将不胜感激
谢谢
解决方案
在 react native 中开始使用 firebase。
添加firebase依赖
yarn add firebase
转到Firebase并创建一个新项目,然后转到将 Firebase 添加到您的 Web 应用程序部分
像这样为 Firebase 的配置创建一个类
import firebase from "@firebase/app";
require("firebase/database");
require("firebase/storage");
require("firebase/auth");
let config = {
apiKey: "YOUR PROJECT apiKey",
authDomain: "YOUR PROJECT authDomain",
databaseURL: "YOUR PROJECT databaseURL",
projectId: "XXXXXXXX",
storageBucket: "",
messagingSenderId: "XXXXXXXXXX",
appId: "XXXXXXXXXXXXXXXXXXXXXXXX"
};
export default class DBHandler {
static auth;
static database;
static init() {
firebase.initializeApp(config);
DBHandler.database = firebase.database();
DBHandler.auth = firebase.auth();
}
}
在App.js中初始化 Firebase
import DBHanlder from "./src/api/constants";
export default class App extends Component {
componentDidMount = () => {
DBHanlder.init();
};
render() {
return <YourApp />;
}
}
你已经完成了初始化部分。现在你可以使用如下的身份验证
import DBHandler from "../api/constants";
class Login extends Component {
signinUser = () => {
DBHandler.auth.signInWithEmailAndPassword(email, password)
.then(() => {
//Do what you want
})
.catch((error) => {
//handle error
var errorCode = error.code;
var errorMessage = error.message;
alert(errorMessage);
console.log("ERROR");
console.log(errorCode, errorMessage);
});
}
}}
推荐阅读
- javascript - 变量在 Fetch 中改变但在函数之外没有改变
- or-tools - 调度 w。CP-SAT 求解器非常慢
- flutter - 如何在颤振中使用 url_launcher 捕获 canLaunch 异常?
- google-bigquery - 查询的语法和预期输出
- java - 某些包含打印行的“if”语句未执行,因此未打印到控制台
- database - 如何在 IIS 中实时访问 http 会话并检索请求的 dbms 查询?
- python - Pyinstaller,规范,包含不同的文件
- flask - 尝试在 QuerySelectField 中填充数据时出现 Flask WTForms 错误
- angular - 显示在 Mat select 中选择的默认选项 - 当 mat 选项值取决于父下拉列表时
- r - 在R闪亮中将fileinput进度条颜色更改为渐变