React Native error - компонент должен быть реагирующим компонентом - PullRequest
0 голосов
/ 16 января 2019

Так что я новичок, чтобы реагировать на нативный и JS в целом, у меня огромный опыт разработки нативных мобильных приложений, и я хочу узнать больше о веб-приложениях. Поэтому я пытаюсь начать с реакции на родной, чтобы испытать это.

Я хотел создать боковое меню, используя createDrawerNavigator, поэтому я создал следующий компонент:
</p> <pre><code>// code for the menu import React from 'react'; import { Platform } from 'react-native'; import { createStackNavigator, createDrawerNavigator, createAppContainer, DrawerActions } from "react-navigation"; import HomeScreen from '../screens/HomeScreen'; import LinksScreen from '../screens/LinksScreen'; import SettingsScreen from '../screens/SettingsScreen'; const App = createDrawerNavigator({ HomeScreen: { screen: HomeScreen }, LinksScreen: { screen: LinksScreen }, SettingsScreen: { screen: SettingsScreen } }, { drawerWidth: 300 }); export default createAppContainer(App); // HomeScreen.js import React from 'react'; import { Image, Platform, ScrollView, StyleSheet, Text, TouchableOpacity, View, Dimensions, } from 'react-native'; import { WebBrowser } from 'expo'; import { DrawerNavigator } from 'react-native-navigation'; import { MonoText } from '../components/StyledText'; import { createStackNavigator, createDrawerNavigator, createAppContainer, DrawerActions } from "react-navigation"; import Router from './MenuNavigator'; export default class HomeScreen extends React.Component { static navigationOptions = { header: 'Vapeself 2', }; render() { const App = createDrawerNavigator({ Home: { screen: MyHomeScreen, }, Notifications: { screen: MyNotificationsScreen, }, }); const MyApp = createAppContainer(App); this.props.navigation.dispatch(DrawerActions.openDrawer()); return ( <Router/> ); } // LinkScreen.js import React from 'react'; import { ScrollView, StyleSheet } from 'react-native'; import { ExpoLinksView } from '@expo/samples'; export default class LinksScreen extends React.Component { static navigationOptions = { title: 'Links', }; render() { return ( <ScrollView style={styles.container}> {/* Go ahead and delete ExpoLinksView and replace it with your * content, we just wanted to provide you with some helpful links */} <ExpoLinksView /> </ScrollView> ); } } const styles = StyleSheet.create({ container: { flex: 1, paddingTop: 15, backgroundColor: '#fff', }, }); // SettingsScreen.js import React from 'react'; import { ExpoConfigView } from '@expo/samples'; export default class SettingsScreen extends React.Component { static navigationOptions = { title: 'app.json', }; render() { /* Go ahead and delete ExpoConfigView and replace it with your * content, we just wanted to give you a quick view of your config */ return <ExpoConfigView />; } }

Я не знаю, что произошло, потому что код не работает, и у меня есть такая ошибка Компонент для маршрута 'HomeScreen' должен быть компонентом React . Но дело в том, что он на самом деле работает с TabNavigator. Так что я действительно не понимаю.

Заранее спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...