前:近2月未登,再看发现官网大变样,版本大迭代,从配置项变成了组件化。
路由嵌套
见官网,传送门react-navigation路由嵌套
路由传参 :
正常的传参见官网,传送门react-navigation路由传参
正题,路由跨层传参,解锁隐藏技能。
情景:例如页面PA使用了stack、bottomNav或者topNav路由导向RA页,但是PA页面的数据或者函数需要在路由导向页RA中使用。
在5x版本以前似乎没发现如何实现,但5x将导航配置组件化后,似乎就变得可能了。产看了官网文档的路由传参部分,描述非常之简单,没有提及这类情况,但由于路由配置已经组件化了,按理已经有了组件的特性,遂尝试了一下,果然,可行!
前排分享吃个蛋。
贴个小栗子:
import { createStackNavigator } from '@react-navigation/stack';
const Stack = createStackNavigator();
export default function MyStack() {
return (
<Stack.Navigator>
<Stack.Screen
name="Home"
component={Home}
**
## //看看这里 👇 ok你就可以在跳转的目标页愉快的接受数据了,整个页面变成了上层路由页的可控页面了
**
initialParams={this.arguments[0].initialParams}
/>
<Stack.Screen name="Notifications" component={Notifications} />
<Stack.Screen name="Profile" component={Profile} />
<Stack.Screen name="Settings" component={Settings} />
</Stack.Navigator>
);
}
...
import MyStack from '...'
class Test extends React.Component{
state={
data:1
}
render(){
<MyStack
data={this.state.data}
/>
}
}