javascript - 错误 Cloud Firestore addEventListener 不是函数#react-native #firestore
问题描述
我在使用 cloud firestore 时遇到问题和错误当我输入 var db = firebaseApp.firestore () 时出现该错误
import React, { Component } from 'react'
import { StyleSheet, View, Dimensions, Image, Text, SafeAreaView,
ScrollView, FlatList, Modal, TextInput, TouchableOpacity } from 'react-
native';
import { firebaseAppKeep } from '../../constant/configFireBase'
import FontAwesome5 from 'react-native-vector-icons/FontAwesome5'
import TaskList from '../../components/TaskList'
import TaskForm from '../../components/TaskForm'
import HeaderBar from '../../components/HeaderBar'
const WIDTH = Dimensions.get('window').width
const HEIGHT = Dimensions.get('window').height
const sizeIconAdd = 60
export default class TaskHome extends Component {
constructor(props) {
super(props);
this.state = {
statusModal: false,
taskList: []
}
}
OpenModalTaskControl = () => {
this.setState({
statusModal: !this.state.statusModal
})
}
getDayCreated = () => {
var date = new Date().getDate(); //Current Date
var month = new Date().getMonth() + 1; //Current Month
var year = new Date().getFullYear(); //Current Year
date = date + '/' + month + '/' + year
return date
}
getTimeCreate = () => {
var hours = new Date().getHours(); //Current Hours
var min = new Date().getMinutes(); //Current Minutes
var sec = new Date().getSeconds(); //Current Seconds
hours = hours + ':' + min + ':' + sec
return hours
}
s4() {
return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1)
}
genarateID() {
return this.s4() + this.s4() + '-' + this.s4() + this.s4() + '-' + this.s4() + this.s4() + '-' + this.s4() + this.s4();
}
addTask = (task) => {
task.id = this.genarateID()
task.dayCreated = this.getDayCreated()
task.timeCreated = this.getTimeCreate()
console.log(task)
var user = firebaseAppKeep.auth().currentUser
var db = firebaseAppKeep.firestore()
if (user) {
console.log(user.email, user.uid)
db.collection(user.uid)
.add({
colorTask: task.colorTask,
dayCreated: task.dayCreated,
id: task.id,
status: task.status,
taskDetail: task.taskDetail,
timeCreated: task.timeCreated,
titleTask: task.titleTask
})
}
this.state.taskList.push(task)
}
SignOut = () => {
firebaseAppKeep.auth().signOut()
.then(() => {
this.props.navigation.navigate('AuthRoutes')
})
.catch(error => console.log(error));
}
render() {
var { statusModal } = this.state
var showBtnAddTask = statusModal === false ?
<View style={{ position: 'absolute', left: WIDTH - sizeIconAdd - 10, vtop: HEIGHT - sizeIconAdd - 20 }}>
<TouchableOpacity onPress={() => this.OpenModalTaskControl()}>
<FontAwesome5 name={"plus"} size={sizeIconAdd} color={"black"} />
</TouchableOpacity>
</View>
: null
return (
<SafeAreaView>
<HeaderBar opacity={this.state.statusModal} signout={this.SignOut} />
<View style={{ marginHorizontal: 10, alignItems: 'center', opacity: this.state.statusModal === true ? 0.1 : 1 }}>
<TaskList taskList={this.state.taskList} />
</View>
<TaskForm
statusModal={this.state.statusModal}
changeStatusModal={this.OpenModalTaskControl}
addTask={this.addTask}
/>
{showBtnAddTask}
</SafeAreaView>
);
}
}
error { TypeError :e.addEventListener 不是函数。(在'e.addEventListener("visibilitychange",this.ah)'中,'e.addEventListener'未定义)}
希望能对你有所帮助
解决方案
我正在使用世博会。我通过运行修复它expo install firebase
。它安装了 7.9.0 版,现在警告消失了。
推荐阅读
- javascript - 多次运行函数返回“错误:发送后无法设置标头”
- arrays - 什么是有效地将键是索引的 Scala Map 转换为 Array 的内存有效方法?
- c++ - 双斜线与三斜线注释
- amazon-web-services - 如何有条件地扩展 aws asg 实例?
- jquery - 使用 Ajax / Jquery 和 JSON API 加载图像
- c# - 如何使用多个类修复 Json 中的反序列化
- vue.js - 如何让 replaceData 函数工作?
- c# - 有没有办法用 c# 读取像 [Owner="Tester"] 这样的测试属性值
- python - 如何让我的 vscode 终端将我的 venv 用于 python 而不是系统版本?
- python - 使用 Micropython 设置 esp32 接入点 Web 服务器