尽管我的项目已在iOS和Android模拟器上成功运行,但我在VSCode的调试控制台中遇到了此错误
编辑: 环境详细信息: 反应:16.9.0 React Native:0.61.1 节点:12.13.0 NPM:6.12.0
import React, {Component} from 'react';
^^^^^^
SyntaxError: Cannot use import statement outside a module
at Module._compile (internal/modules/cjs/loader.js:892:18)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
at internal/main/run_main_module.js:17:11
这是我的代码:
import React, {Component} from 'react';
import {View, Text, Button} from 'react-native';
// import {FlatList, TouchableOpacity} from 'react-native-gesture-handler';
import firestore from '@react-native-firebase/firestore';
import auth from '@react-native-firebase/auth';
import {FlatList} from 'react-native-gesture-handler';
import UserSummary from '../components/UserSummary';
class AllFriendsScreen extends Component {
constructor(props) {
super(props);
this.state = {
friends: [],
friendsData: [],
};
this.tempFriends = [];
this.tempFriendsData = [];
}
componentDidMount() {
this.fetchFriends()
.then(() =>
this.setState({
friends: this.tempFriends,
}),
)
.then(() => this.fetchEachFriend());
}
async fetchFriends() {
const uid = auth().currentUser.uid;
await firestore()
.collection('Friendships')
.where('uid1', '==', `${uid}`)
.get()
.then(doc => {
if (doc.empty) {
null;
console.log('DOC: ', doc.empty);
} else {
doc.forEach(snap => {
console.log(snap.data().uid2);
this.tempFriends.push(snap.data().uid2);
console.log(this.tempFriends);
});
}
})
.catch(err => console.log('Error DOC1 ', err));
await firestore()
.collection('Friendships')
.where('uid2', '==', `${uid}`)
.get()
.then(doc => {
if (doc.empty) {
null;
console.log('DOC2: ', doc.empty);
} else {
doc.forEach(snap => {
console.log(snap.data().uid1);
this.tempFriends.push(snap.data().uid1);
console.log(this.tempFriends);
});
}
})
.catch(err => console.log('Error DOC2 ', err));
}
fetchEachFriend() {
this.state.friends.forEach(uid => {
console.log('UID: ', uid);
firestore()
.collection('Users')
.doc(`${uid}`)
.get()
.then(doc => {
console.log('Friend Data ', doc.data());
this.tempFriendsData.push({
uid: doc.id,
data: doc.data(),
});
})
.then(() => this.setState({friendsData: this.tempFriendsData}))
.catch(err => {
console.log('Error fetchEachFriend(): ', err);
});
});
}
_renderItem({item}) {
return (
<UserSummary
email={item.data.email}
username={item.data.username}
uid={item.uid}
/>
);
}
render() {
console.log('STATE RENDER: ', this.state.friendsData);
return (
<View style={{flex: 1, alignItems: 'center', justifyContent: 'center'}}>
<FlatList
data={this.state.friendsData}
renderItem={this._renderItem}
keyExtractor={(item, index) => index.toString()}
/>
</View>
);
}
}
export default AllFriendsScreen;
这是一个使用Google Firebase Cloud Firestore作为数据库的React Native项目。与数据库的所有交互都成功运行 请引导我
谢谢