【发布时间】:2019-10-24 01:38:15
【问题描述】:
我想在单击按钮时增加我的 Firestore 数据库中的数字字段的值。我已经设置了 onClick 按钮,但是当我单击它时会出现此错误:
TypeError: 无法读取未定义的属性“增量”
我找不到我做错了什么。
这是我的代码:
import React,{useState,useEffect, useRef, useContext} from 'react'
import UserContext from './UserContext.js';
import fire from '../config/Fire';
import copper from '../img/coppernew.jpg'
function useTimes(){
const user = useContext(UserContext)
const [kullanici,setTimes] = useState([])
useEffect(()=>{
fire
.firestore()
.collection('kullanici')
.doc(user)
.onSnapshot((doc)=>{
const newTimes = doc.data()
setTimes(newTimes)
})
},[])
return kullanici
}
function upgradecopper(){
var userUid = fire.auth().currentUser.uid;
console.log(userUid);
var db = fire.firestore();
var copperincrease = db.collection("kullanici").doc(userUid);
copperincrease.update({
copper:fire.firestore.FieldValue.increment(1)
});
}
const Mine = () => {
const kullanici =useTimes()
return(
<div className="mine">
<div>
<ul className="a">
<ul className="dik2"><li><button onClick={()=>upgradecopper()}>Upgrade Copper Mine</button>(LVL: {kullanici.copper})</li><li><span><img src={copper} alt="copper"/></span></li></ul>
</ul>
</div>
<li>Account: <span>{kullanici.email} </span></li>
</div>
)
}
export default Mine
我的 Fire.js
import firebase from 'firebase/app';
import 'firebase/firestore'
import 'firebase/auth';
const config = {
(there is my api info)
};
const fire = firebase.initializeApp(config);
export default fire;
新建 Fire.js 文件:
import firebase from 'firebase';
import 'firebase/app';
import 'firebase/firestore'
import 'firebase/auth';
const config = { /* COPY THE ACTUAL CONFIG FROM FIREBASE CONSOLE */
(there is my api info)
};
const fire = firebase.initializeApp(config);
export default fire;
【问题讨论】:
-
你在
Fire.js或Fire.ts有什么? -
@FrankvanPuffelen 也添加了我的 Fire.js 代码
标签: reactjs firebase google-cloud-firestore