导航器缺少导航道具。在 react-navigation 中你必须直接设置你的应用程序容器
The navigation prop is missing for the navigator. in react-navigation you must set up your app container directly
我尝试获取我在 visual code studio 中找到的在线代码,但它只能在线使用
这是代码和所有文件的展示,https://snack.expo.io/@git/github.com/israsotomayor/react-native-redux-shopping-cart-count
这是我的错误 link:
shoppingCart.js 文件
import React, { Component } from "react";
import {
View,
Text,
StyleSheet
} from "react-native";
import { createStackNavigator } from 'react-navigation-stack'
import HomeScreen from './containers/HomeScreen'
import ElectronicsScreen from './containers/ElectronicsScreen'
import BooksScreen from './containers/BooksScreen'
import ShoppingCartIcon from './containers/ShoppingCartIcon'
import CartScreen from './containers/CartScreen'
class ShoppingCart extends Component {
render() {
return (
<AppStackNavigator />
);
}
}
export default ShoppingCart;
const AppStackNavigator = createStackNavigator({
Home: HomeScreen,
Electronics: ElectronicsScreen,
Books: BooksScreen,
Cart: CartScreen
}, {
navigationOptions: {
headerTitle: 'Shopping App',
headerRight: (
<ShoppingCartIcon />
)
}
})
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center'
}
});
app.js 文件
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import ShoppingCart from './ShoppingCart'
import { Provider } from 'react-redux'
import store from './store'
export default class App extends React.Component {
render() {
return (
<Provider store={store}>
<ShoppingCart />
</Provider>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
刚刚检查过,这个结构应该可以正常工作:
import React, { Component } from "react";
import {
View,
Text,
StyleSheet
} from "react-native";
import { createAppContainer } from 'react-navigation';
import { createStackNavigator } from 'react-navigation-stack'
import HomeScreen from './containers/HomeScreen'
import ElectronicsScreen from './containers/ElectronicsScreen'
import BooksScreen from './containers/BooksScreen'
import ShoppingCartIcon from './containers/ShoppingCartIcon'
import CartScreen from './containers/CartScreen'
const AppStackNavigator = createStackNavigator({
Home: HomeScreen,
Electronics: ElectronicsScreen,
Books: BooksScreen,
Cart: CartScreen
}, {
navigationOptions: {
headerTitle: 'Shopping App',
headerRight: (
<ShoppingCartIcon />
)
}
})
export default createAppContainer (AppStackNavigator);
复制粘贴应该可以了!!!
我尝试获取我在 visual code studio 中找到的在线代码,但它只能在线使用
这是代码和所有文件的展示,https://snack.expo.io/@git/github.com/israsotomayor/react-native-redux-shopping-cart-count
这是我的错误 link:
shoppingCart.js 文件
import React, { Component } from "react";
import {
View,
Text,
StyleSheet
} from "react-native";
import { createStackNavigator } from 'react-navigation-stack'
import HomeScreen from './containers/HomeScreen'
import ElectronicsScreen from './containers/ElectronicsScreen'
import BooksScreen from './containers/BooksScreen'
import ShoppingCartIcon from './containers/ShoppingCartIcon'
import CartScreen from './containers/CartScreen'
class ShoppingCart extends Component {
render() {
return (
<AppStackNavigator />
);
}
}
export default ShoppingCart;
const AppStackNavigator = createStackNavigator({
Home: HomeScreen,
Electronics: ElectronicsScreen,
Books: BooksScreen,
Cart: CartScreen
}, {
navigationOptions: {
headerTitle: 'Shopping App',
headerRight: (
<ShoppingCartIcon />
)
}
})
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center'
}
});
app.js 文件
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import ShoppingCart from './ShoppingCart'
import { Provider } from 'react-redux'
import store from './store'
export default class App extends React.Component {
render() {
return (
<Provider store={store}>
<ShoppingCart />
</Provider>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'center',
},
});
刚刚检查过,这个结构应该可以正常工作:
import React, { Component } from "react";
import {
View,
Text,
StyleSheet
} from "react-native";
import { createAppContainer } from 'react-navigation';
import { createStackNavigator } from 'react-navigation-stack'
import HomeScreen from './containers/HomeScreen'
import ElectronicsScreen from './containers/ElectronicsScreen'
import BooksScreen from './containers/BooksScreen'
import ShoppingCartIcon from './containers/ShoppingCartIcon'
import CartScreen from './containers/CartScreen'
const AppStackNavigator = createStackNavigator({
Home: HomeScreen,
Electronics: ElectronicsScreen,
Books: BooksScreen,
Cart: CartScreen
}, {
navigationOptions: {
headerTitle: 'Shopping App',
headerRight: (
<ShoppingCartIcon />
)
}
})
export default createAppContainer (AppStackNavigator);
复制粘贴应该可以了!!!