React native typescript如何接收路由参数

vqlkdk9b  于 2023-05-18  发布在  React
关注(0)|答案(1)|浏览(136)

我想通过参数userRefUserProfile屏幕。这是我的RootStackParamList

export type RootStackParamList = {
    Login: undefined;
    Home:undefined;
    NewPost:undefined;
    MyQuestions:undefined;
    Profile:undefined;
    Search:undefined;
    UsersProfile:{
       userRef:string
    }
};

export type propsStack = NativeStackNavigationProp<RootStackParamList>

我将userRef参数传递为

onPress={() =>
                    navigation.navigate("UsersProfile", {
                      userRef: "Some Name",
                    })
                  }

我试着把它当作

const {userRef} = useRoute().params

它给了我这个错误
类型“Readonly<object”上不存在属性“userRef|未定义>'
我想我必须输入useRoute,但我不知道如何做到这一点。
先谢谢你了

mrphzbgm

mrphzbgm1#

虽然你可能已经解决了这个问题,这是为像我一样的其他人10分钟前。
首先也是最重要的:注解路由变量如下:

const route: RouteProp<{ params: { variable: Type } }> = useRoute();

那么route.params就是ReadOnly<>,但是内部类型可以用以下方法提取:

const innerVariable: Type = route.params.variable

相关问题