我刚开始一个新项目并添加了一个TabNavigator。当我点击任一选项卡时,我收到一个红色错误说明:
"navigation.navigate is not a function(In 'navigation/navigate(navigateion.state.routes[index].routeName', 'navigation.navigate' is undefined)"
如果我更改了初始路线,每个标签都会在屏幕上正确显示,并突出显示屏幕底部的正确标签。
export default TabNavigator(
{
Home: { screen: HomeScreen },
Card: { screen: CardScreen },
Schedule: { screen: ScheduleScreen },
},
{
initialRouteName: 'Home',
}
);
答案 0 :(得分:1)
将React-navigation从2.0.0降级到1.0.3解决了这个问题。
答案 1 :(得分:-1)
这是我用来更改标签。
这是我的customeTab的定义
<强> const customeTab = ({ navigation }) => {
强>
以下是naviagate的代码:
const routes = navigation.state.routes;
{routes.map((route, index) => {
return (
<TouchableOpacity
activeOpacity={1.0}
onPress={() => {
navigation.navigate(route.key);
}
}
style={styles.tab}
key={route.key}
>
// do you stuff to show title and image.
</TouchableOpacity>);
})
}
答案 2 :(得分:-1)
我认为问题出在您的导航中。
@bot.command(pass_context=True)
async def hellothere(ctx):
await bot.say("Hello {}".format(ctx.message.author))
bot.command(name="hello", pass_context=True)(hellothere.callback)
如果您想将一个页面转移到另一个页面,则必须使用导航方法。
在标签之间跳转 从一个标签切换到另一个标签有一个熟悉的API - this.props.navigation.navigate。
import { TabNavigator } from 'react-navigation';
import HomeScreen from "./Home"
import SettingsScreen from "./Settings"
export default TabNavigator({
Home: { screen: HomeScreen },
Settings: { screen: SettingsScreen },
});
点击此link。这是一份可以帮助您的官方文档。