#react-native #react-navigation
#react-native #react-navigation
Вопрос:
Почему я все еще получаю следующее:
"The navigation prop is missing for this navigator. In react-navigation 3 you must set up your app container directly."
Вот мой код:
const DrawerNavigator = createDrawerNavigator(
{
Home: {
screen: HomeScreen,
},
About: {
screen: Header2,
},
},
DrawerConfig
);
const MyApp11 = createAppContainer(DrawerNavigator);
export default class App12 extends React.Component {
render() {
return <MyApp11 />;
}
}
Работа с react native и react navigation.
{
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"eject": "expo eject"
},
"dependencies": {
"expo": "^32.0.0",
"prop-types": "^15.7.2",
"react": "16.5.0",
"react-native": "https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz",
"react-native-animated-hamburger": "0.0.2",
"react-native-drawer": "^2.5.1",
"react-native-elements": "^1.1.0",
"react-native-vector-icons": "^6.4.2",
"react-navigation": "^3.8.1"
},
"devDependencies": {
"babel-preset-expo": "^5.0.0"
},
"private": true
}
Комментарии:
1. Добавьте еще несколько подробностей о вашей проблеме с кодом
Ответ №1:
Согласно вашему коду, вы экспортируете навигацию неправильным способом. вы не должны переносить навигационную константу в компонент react, просто экспортируйте ее непосредственно из вашего js-файла.
создайте route.js создайте файл и добавьте свою оболочку навигации.
const DrawerNavigator = createDrawerNavigator(
{
Home: {
screen: HomeScreen,
},
About: {
screen: Header2,
},
},
DrawerConfig
);
const MyApp11 = createAppContainer(DrawerNavigator);
export default MyApp11
Теперь в app.js импортируйте его и передайте компоненту
app.js
import Routes from 'path_to_route_file';
export default class App extends Component{
render(){
return(
<View>
<Routes />
</View>
)
Комментарии:
1. Я уже пытался написать его только с помощью «экспортировать MyApp11 по умолчанию» (как в вашем ответе), но он отправляет ту же проблему.