[英]react-navigation navigation hook type
我正在使用 react-navigation 中的這個鈎子,而不是在不同的組件中再次調用這個鈎子,我想將navigation
作為道具傳遞。
const navigation = useNavigation();
...
<MyButton
resetLocation={resetLocation}
navigation={navigation}
/>
但是我無法弄清楚我應該傳遞給 MyButton 組件的這個導航道具的“類型”。
type MyButtonProps = {
resetLocation: (locationToReset: string) => void;
navigation: any;
};
export const MyButton: React.FunctionComponent<MyButtonProps> = ({
resetLocation,
navigation,
我應該用什么代替navigation: any;
和?
使用NavigationProp<ParamListBase>
這里是 useNavigation 的定義,我把它貼在這里以防萬一。
import * as React from 'react';
import type { ParamListBase } from '@react-navigation/routers';
import NavigationContext from './NavigationContext';
import type { NavigationProp } from './types';
/**
* Hook to access the navigation prop of the parent screen anywhere.
*
* @returns Navigation prop of the parent screen.
*/
export default function useNavigation<
T extends NavigationProp<ParamListBase>
>(): T {
const navigation = React.useContext(NavigationContext);
if (navigation === undefined) {
throw new Error(
"Couldn't find a navigation object. Is your component inside a screen in a navigator?"
);
}
return navigation as T;
}
這是更多信息的鏈接https://github.com/react-navigation/react-navigation/blob/main/packages/core/src/useNavigation.tsx
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.