gpt4 book ai didi

react-navigation - 使用 React Navigation 了解 Stack Navigator 之外的组件中的当前路由是什么?

转载 作者:行者123 更新时间:2023-12-05 06:17:43 25 4
gpt4 key购买 nike

我有一个组件在 NavigationContainer 组件内但在 Stack Navigator 之外。我能知道组件中的当前路由是什么吗?我不能使用 useRoute Hook ,因为它出错了:

Couldn't find a route object. Is your component inside a screen in a navigator?

最佳答案

您需要遵循 react-navigation 中的指南 docs .它解释了如何获得对 NavigationContainer ref 的访问权限,然后您可以使用它来访问应用程序的当前导航状态,甚至在组件之外也是如此。

这是一个简短的演示,以防将来此链接中断。

// App.js

import { NavigationContainer } from '@react-navigation/native';
import { navigationRef } from './Navigation';

export default function App() {
return (
<NavigationContainer ref={navigationRef}>{/* ... */}</NavigationContainer>
);
}
// Navigation.js

import React from 'react';

export const navigationRef = React.createRef();

// You can export navigation functions to use throughout your app, without accessing the `navigation` prop.
export function navigate(name, params) {
navigationRef.current?.navigate(name, params);
}

// This is the function you want, it will return the complete navigation state
export function getRootState() {
return navigationRef.current?.getRootState();
}

关于react-navigation - 使用 React Navigation 了解 Stack Navigator 之外的组件中的当前路由是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61480003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com