Javascript 我无法从数组中呈现数据
我可以记录数据,但似乎无法显示,屏幕完全空白。 我没有收到任何错误,但屏幕上仍然没有任何内容Javascript 我无法从数组中呈现数据,javascript,firebase,react-native,react-native-firebase,Javascript,Firebase,React Native,React Native Firebase,我可以记录数据,但似乎无法显示,屏幕完全空白。 我没有收到任何错误,但屏幕上仍然没有任何内容 import React from 'react'; import { View, StyleSheet, Text } from 'react-native'; import firestore from '@react-native-firebase/firestore'; import { FlatList } from 'react-native-gesture-handler'; expor
import React from 'react';
import { View, StyleSheet, Text } from 'react-native';
import firestore from '@react-native-firebase/firestore';
import { FlatList } from 'react-native-gesture-handler';
export default class StockAdjustmentScreen extends React.Component {
constructor(props) {
super(props)
this.state = {
stockAdjustments: [],
}
}
componentDidMount() {
firestore().collection('stockAdjustments')
.get().then((querySnapshot) => {
querySnapshot.forEach((doc) => {
this.state.stockAdjustments.push({
id: doc.id, ...doc.data()
})
})
console.log(this.state.stockAdjustments)
})
.catch((error) => {
console.log
(error)
})
}
render() {
let Adjustments = this.state.stockAdjustments.map((val, key) => {
return (
<View key={key}>
<FlatList style={styles.texts}>{val.comments}</FlatList>
</View>
)
})
return (
<View>
{Adjustments}
</View>
)
}
}
从“React”导入React;
从“react native”导入{View,StyleSheet,Text};
从“@react native firebase/firestore”导入firestore;
从“反应本机手势处理程序”导入{FlatList};
导出默认类StockAdjustmentScreen扩展React.Component{
建造师(道具){
超级(道具)
此.state={
股票调整:[],
}
}
componentDidMount(){
firestore().集合('StockAdjusts')
.get().then((querySnapshot)=>{
querySnapshot.forEach((doc)=>{
这个。state。stockAdjustments。push({
id:doc.id,…doc.data()
})
})
console.log(this.state.stockAdjustments)
})
.catch((错误)=>{
console.log
(错误)
})
}
render(){
let Adjustments=this.state.stockAdjustments.map((val,key)=>{
返回(
{val.comments}
)
})
返回(
{调整}
)
}
}
这是我试图显示的数据
您必须使用:
this.setState({...})
而不是:
this.state.stockAdjustments.push({...})
以触发ui更新
const stockAdjustments = []
querySnapshot.forEach((doc) => {
stockAdjustments.push({
id: doc.id, ...doc.data()
})
})
this.setState({ stockAdjustments });
您必须使用:
this.setState({...})
而不是:
this.state.stockAdjustments.push({...})
以触发ui更新
const stockAdjustments = []
querySnapshot.forEach((doc) => {
stockAdjustments.push({
id: doc.id, ...doc.data()
})
})
this.setState({ stockAdjustments });
我已经尝试过了,但是我得到了一个组件异常,“undefined不是一个函数(靠近“…this.state.stockadjusts.map…”)”啊,我明白了,我没有做一个临时数组,并且试图设置没有的状态,谢谢。我已经尝试过了,但是我得到了一个组件异常,“undefined不是一个函数。”(靠近“…this.state.stockAdjustments.map…”)“啊,我明白了,我没有做临时数组,正试图在没有临时数组的情况下设置状态,谢谢