我正在尝试显示已存储在我的 Firebase 实时数据库中的 WeightGoal,但出现以下错误。“对象作为 React 子对象无效(找到:带有键 {...} 的对象)”
这是我的 json 文件:
这是我的 componentWillMount 代码:
componentWillMount() {
const { currentUser } = firebase.auth();
firebase
.database()
.ref(`/users/${currentUser.uid}/goals`)
.on('value', snap => {
this.setState({ WeightGoal: snap.val()})
})
}
下面是我如何引用 render 中的值:
{this.state.WeightGoal}
我的期望是在屏幕上看到 170。
任何帮助将不胜感激。
snap.val()
是由goal
数据库中的对象组成的对象,因为这是您引用的对象:
.ref(`/users/${currentUser.uid}/goals`)
因此,如果您只想存储WeightGoal property
, 使用的行this.setState
应如下所示:
this.setState({ WeightGoal: snap.val().WeightGoal })
PS 下次尝试将 console.log(this.state) 添加到 render() 中以查看您正在显示的内容。或者在 Chrome Debugger 中添加断点,这是一种更可靠的方式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句