路由器定义了一个组件的导航状态,并允许开发人员定义可被处理的路径和动作。
内置路由器(Built-In Routers)
react-navigation
使用的几个标准的路由器:
使用路由器(Using Routers)
要手动导航,请在组件上放置一个静态路由器。(要快速创建一个使用内置组件的导航器,使用一个 Navigator Factory 将其取代可能会更容易)
1 | class MyNavigator extends React.Component { |
现在您可以将此组件用作另一个导航器中的屏幕
,而MyNavigator
的导航逻辑将由此StackRouter
定义。
自定义路由器(Customizing Routers)
请参阅自定义路由器API规范了解StackRouter
和TabRouter
的API。您可以根据需要覆盖路由器的功能:
自定义导航动作(Custom Navigation Actions)
要覆盖导航行为,您可以覆盖getStateForAction
中的导航状态逻辑,并手动操作 routes
和 index
。
1 | const MyApp = StackNavigator({ |
阻止导航操作(Blocking Navigation Actions)
有时您可能希望防止某些导航活动,具体取决于您的路由。
1 | const MyStackRouter = StackRouter({ |
处理自定义URI(Handling Custom URIs)
也许您的应用程序具有内置路由器无法处理的唯一URI. 您可以随时扩展路由器的getActionForPathAndParams
。
1 |
|