Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我无法从数组中呈现数据_Javascript_Firebase_React Native_React Native Firebase - Fatal编程技术网

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…”)“啊,我明白了,我没有做临时数组,正试图在没有临时数组的情况下设置状态,谢谢