Я получил ошибку, когда я пытаюсь перейти на другой экран, нажав TouchableOpacity ... «Вы должны явно отобразить один навигатор в своем приложении, а другой навигатор должен быть отображен путем включения их в этот навигатор».Я использую реагирующую навигацию 3, и вот мои 4 компонента:
это основной компонент:
import React from 'react';
import { StyleSheet, Text, View, Button } from 'react-native';
import {createBottomTabNavigator , createNavigationContainer} from 'react-navigation'
import Home from './Compnents/Home';
import CreatePost from './Compnents/CreatePost';
import Notifications from './Compnents/Notifications';
export class App extends React.Component {
render() {
return (
<View>
</View>
);
}
}
const NavigationBar = createBottomTabNavigator({
Home:{ screen : Home ,
navigationOptions:{
tabBarLabel:'home',
}},
Notifications:{screen : Notifications,
navigationOptions:{
tabBarLabel: 'notifi',
}},
CreatePost : {screen :CreatePost ,
navigationOptions:{
tabBarLabel: 'createpost',
} },
});
export default createNavigationContainer(NavigationBar);....
второй, который включает компонент NotificationList:
import React from 'react';
import { StyleSheet, Text, View, } from 'react-native';
import NotificationsList from './NotificationsList';
export default class Notifications extends React.Component {
render() {
return (
<View style={styles.container} >
<Text style={styles.HomeText}> AAA </Text>
<NotificationsList />
</View>
);
}
}...
и, наконец, 3-й, который, когда я нажимаю на элемент, у меня появляется ошибка
import React from 'react';
import { StyleSheet, Text, View, TouchableOpacity } from 'react-native';
import { FlatList } from 'react-native-gesture-handler';
import {createStackNavigator , createNavigationContainer,} from 'react-navigation';
import DonationRoom from './DonationRoom';
const Room =createStackNavigator({
DonationRoom : DonationRoom
})
export default createNavigationContainer ( Room);
class NotificationsList extends React.Component {
ItemClickListener(){
navigate('DonationRoom');
}
render() {
return (
<View style={styles.container} >
<FlatList
data={[
{timestamp : '2018/12/26' , comment : 'aaaaa'} ,
{timestamp : '2018/12/26' , comment : 'aaaaaaa'},
]}
renderItem={({item})=>
<TouchableOpacity style={styles.item}
onPress={() => this.ItemClickListener()}>
<View style={{flexDirection : 'row-reverse'}}>
<Text > {item.timestamp} </Text>
</View>
<Text style={{marginTop : 10 , margin:3}}> {item.comment}
</Text>
</TouchableOpacity>
}
/>
</View>
);
}
}...
, чтобы открыть эту страницу:
import React from 'react';
import { StyleSheet, Text, View, Button } from 'react-native';
export default class DonationRoom extends React.Component {
render() {
return (
<View style={styles.container} >
<Text style={styles.HomeText}>aaa </Text>
<Text > Donaiton Room </Text>
</View>
);
}
}