Javascript navigator在React Native中同时存在导航和容器道具错误
非常重要:我的项目正在运行,当我将它们复制到备份文件夹并在删除文件后使用时,bat!!,我发现导航错误: 错误:此导航器同时具有导航和容器道具,因此不清楚它是否应该拥有自己的状态。移除道具:“主题”,如果导航器应该从导航道具获取其状态。如果导航器应保持其自身状态,则不要传递导航道具 以下是我的App.js代码:Javascript navigator在React Native中同时存在导航和容器道具错误,javascript,reactjs,react-native,Javascript,Reactjs,React Native,非常重要:我的项目正在运行,当我将它们复制到备份文件夹并在删除文件后使用时,bat!!,我发现导航错误: 错误:此导航器同时具有导航和容器道具,因此不清楚它是否应该拥有自己的状态。移除道具:“主题”,如果导航器应该从导航道具获取其状态。如果导航器应保持其自身状态,则不要传递导航道具 以下是我的App.js代码: import { createAppContainer } from "react-navigation" import AppNavigator from './app/Navi/Na
import { createAppContainer } from "react-navigation"
import AppNavigator from './app/Navi/Navigate'
const AppContainer = createAppContainer(AppNavigator);
export default class App extends React.Component {
render() {
return <AppContainer />
}
}
和index.js,其中有error(error表示在第29行中引用了第40行):
不知道发生了什么事
编辑
TabNavigator强制编码:
const redundernav和customTabs是选项卡ui的一些定制
import { createBottomTabNavigator, createAppContainer } from 'react-navigation';
import Home from '../Home/home'
import LogOut from '../Logging/logout'
import Search from '../Route/Search'
import Poll from '../Poll/Poll'
import Signate from '../sign/signate'
const renderNav = (name, tintColor) => (
<View style={{flex: 1, alignItems: 'center', justifyContent: 'center'}}>
<Icon name={name} size={15} style={{color: tintColor}} />
</View>
)
const customTabs = ({ navigation }) => ({
tabBarIcon: ({tintColor }) => {
const { routeName } = navigation.state;
if (routeName === 'LogOut') {
return renderNav('md-log-out', tintColor);
} else if (routeName === 'Home') {
return renderNav('md-planet', tintColor);
} else if (routeName === 'Route') {
return renderNav('md-compass', tintColor);
} else if (routeName === 'Poll') {
return renderNav('ios-checkmark-circle', tintColor);
} else if (routeName === 'Sign') {
return renderNav('hand', tintColor);
}
}
});
const TabNavigator = createBottomTabNavigator({
LogOut : LogOut,
Route : Search,
Home : Home,
Poll : Poll,
Sign : Signate
},
{
defaultNavigationOptions: customTabs,
animationEnabled: true,
swipeEnabled: true,
tabBarPosition: 'bottom',
initialRouteName: 'Poll',
tabBarOptions: {
showLabel: false,
activeTintColor: 'yellow',
inactiveTintColor: '#fff',
style:{
borderTopColor: '#ccc',
borderTopWidth: 3,
backgroundColor:'#191919',
height: 50,
},
activeTabStyle: {
backgroundColor: 'white',
borderBottomWidth: 40,
borderColor: '#6C1D7C'
}
},
});
export default createAppContainer(TabNavigator);
从'react navigation'导入{createBottomTabNavigator,createAppContainer};
从“../Home/Home”导入主页
从“../Logging/LogOut”导入注销
从“../Route/Search”导入搜索
从“../Poll/Poll”导入轮询
从“../sign/Signate”导入Signate
常量renderNav=(名称、颜色)=>(
)
const customTabs=({navigation})=>({
tabBarIcon:({tintColor})=>{
const{routeName}=navigation.state;
如果(routeName===“注销”){
返回renderNav('md-log-out',淡色);
}else if(routeName==='Home'){
返回renderNav('md-planet',淡色);
}else if(routeName=='Route'){
返回renderNav('md-compass',淡色);
}else if(routeName==='Poll'){
返回renderNav('ios-checkmark-circle',淡色);
}else if(routeName==='Sign'){
返回renderNav('hand',淡色);
}
}
});
const TabNavigator=createBottomTabNavigator({
注销:注销,
路线:搜索,
家:家,
投票:投票,
签名:签名者
},
{
默认导航选项:自定义选项卡,
animationEnabled:没错,
是的,
tabBarPosition:'底部',
initialRouteName:“轮询”,
选项卡选项:{
showLabel:false,
activeTintColor:'黄色',
InactiveIntColor:“#fff”,
风格:{
borderTopColor:“#ccc”,
边框宽度:3,
背景颜色:“#191919”,
身高:50,
},
活动选项卡样式:{
背景颜色:“白色”,
宽度:40,
边框颜色:“#6C1D7C”
}
},
});
导出默认createAppContainer(TabNavigator);
据我所见,您在TabNavigator文件中返回了一个AppContainer,所有应用程序应该只有一个AppContainer
因此,最好的方法是直接返回Tabnavigator
export default TabNavigator;
我决定如下
原件:
export default createAppContainer( createBottomTabNavigator( {
修改:
export default createBottomTabNavigator( {
那么对于您的情况,“LoginBoolean”的价值是什么呢?我们能看看TabNavigator里面是什么吗?我添加了TabNavigator代码。LoginBoolean得到这些值:“是”和“否”(实际上不是布尔值!)
export default createAppContainer( createBottomTabNavigator( {
export default createBottomTabNavigator( {