javascript - 在本机反应中找不到变量导航
问题描述
当我在世博会上运行它时,它说“找不到变量导航”,我似乎无法弄清楚为什么导航不起作用有没有人有任何想法?我试过把 this.props 等拿走,但这也不起作用
'use strict'
import React, { Component } from 'react';
import {
Text,
TextInput,
TouchableHighlight,
StatusBar,
ListView,
FlatList,
View
} from 'react-native';
import firebaseApp from './firebaseConfig.js';
import styles from './styles.js';
class Rooms extends Component {
static navigationOptions = {
title: 'Rooms',
header: null
};
constructor(props) {
super(props);
var firebaseDB = firebaseApp.database();
this.roomsRef = firebaseDB.ref('rooms');
this.state = {
rooms: [],
newRoom: ''
}
}
componentDidMount() {
this.listenForRooms(this.roomsRef);
}
listenForRooms(roomsRef) {
roomsRef.on('value', (dataSnapshot) => {
var roomsFB = [];
dataSnapshot.forEach((child) => {
roomsFB.push({
name: child.val().name,
key: child.key
});
});
this.setState({ rooms: roomsFB });
});
}
addRoom() {
if (this.state.newRoom === '') {
return;
}
this.roomsRef.push({ name: this.state.newRoom });
this.setState({ newRoom: '' });
}
openMessages(room) {
this.props.navigation.navigate('Messages', {roomKey: room.key, roomName: room.name});
}
renderRow(item) {
return (
<TouchableHighlight style={styles.roomLi}
underlayColor="#fff"
onPress={() => this.openMessages(item)}
>
<Text style={styles.roomLiText}>{item.name}</Text>
</TouchableHighlight>
)
}
render() {
return (
<View style={styles.roomsContainer}>
<StatusBar barStyle="light-content"/>
<Text style={styles.roomsHeader}>Chatypus</Text>
<View style={styles.roomsInputContainer}>
<TextInput
style={styles.roomsInput}
placeholder={"New Room Name"}
onChangeText={(text) => this.setState({newRoom: text})}
value={this.state.newRoom}
/>
<TouchableHighlight style={styles.roomsNewButton}
underlayColor="#fff"
onPress={() => this.addRoom()}
>
<Text style={styles.roomsNewButtonText}>Create</Text>
</TouchableHighlight>
</View>
<View style={styles.roomsListContainer}>
<FlatList
data={this.state.rooms}
renderItem={({item}) => (this.renderRow(item)
)}
/>
</View>
</View>
);
}
}
export default Rooms;
解决方案
推荐阅读
- ruby-on-rails - Heroku + rails + svelte 部署
- javascript - 如何使此面包屑模式生成器正常工作
- symfony - google-api-php-client 语音转文本:未设置 RecognitionAudio
- angular - NgModel 并不总是更新文本输入
- reactjs - 我在我的应用程序中使用带有 useContext 和 useReducer 的 typescript 使用 React,但由于某种原因,单击不会触发调度
- php - 如何注册 yii@1.1 的扩展?
- amazon-web-services - AWS S3 从外部 IP 对 IAM 用户的读取访问权限
- python-3.x - 为什么pyinstaller使用scikit会出错?
- node.js - Azure-Samples/ms-identity-b2c-javascript-spa:“构建您的项目”是什么意思?
- python - 我如何打印变量而不在python中获取括号