React native 在本机导航中指定onPress的名称或键

React native 在本机导航中指定onPress的名称或键,react-native,react-native-navigation,React Native,React Native Navigation,Expo中出现以下错误:“当使用对象作为参数调用navigate时,需要指定名称或键。” 我有一段调用LoginOptions的主要代码,包括: <LoginOptions title="Don't have a business account?" link="Create a free account" press="CreateAccount"/> 我试图通过导航目的地作为一个“变量???-不知道正确的词是什么”

Expo中出现以下错误:“当使用对象作为参数调用navigate时,需要指定名称或键。”

我有一段调用LoginOptions的主要代码,包括:

<LoginOptions title="Don't have a business account?" link="Create a free account" press="CreateAccount"/>

我试图通过导航目的地作为一个“变量???-不知道正确的词是什么”。登录选项如下所示:

import React from 'react';
import { View, Text, TouchableWithoutFeedback } from 'react-native';

import { useNavigation } from '@react-navigation/native';

import defaultStyles from "../../config/styles";

function LoginOptions ({title, link, press }) {
    const navigation = useNavigation();
    return (
    <View>
        <Text style={defaultStyles.logBold}>
        {title}
        </Text>
        <TouchableWithoutFeedback onPress={() => navigation.navigate({press})} >
            <Text style={defaultStyles.logUnder} >
            {link}
            </Text>
        </TouchableWithoutFeedback>
    </View>
    );
}

export default LoginOptions;
从“React”导入React;
从“react native”导入{View,Text,TouchableWithoutFeedback};
从'@react-navigation/native'导入{useNavigation};
从“../../config/styles”导入默认样式;
函数登录选项({title,link,press}){
const navigation=useNavigation();
返回(
{title}
导航。导航({press}}>
{link}
);
}
导出默认登录选项;

将其作为登录选项的道具传递

 <LoginOptions navigation={navigation} title="Don't have a business account?" link="Create a free account" press={"CreateAccount"}/>

然后

从“React”导入React;
从“react native”导入{View,Text,TouchableWithoutFeedback};
从“../../config/styles”导入默认样式;
函数登录选项({title,link,press,navigation}){
返回(
{title}
导航。导航(按)}>
{link}
);
}
导出默认登录选项;

首先,在StackScreen中声明您的屏幕

然后,修复您的
导航
操作:
onPress={()=>navigation.navigate(“屏幕名youdefinedabove”)}


p/s:我认为您在React Native中使用了ReactJS路由机制。React Navigation对路由有自己的定义,请按照文档操作。

您希望执行哪种操作?在外部浏览器中打开新链接或导航到应用程序中的其他屏幕?请转到应用程序中的其他屏幕。
import React from 'react';
import { View, Text, TouchableWithoutFeedback } from 'react-native';



import defaultStyles from "../../config/styles";

function LoginOptions ({title, link, press ,navigation}) {
    return (
    <View>
        <Text style={defaultStyles.logBold}>
        {title}
        </Text>
        <TouchableWithoutFeedback onPress={() => navigation.navigate(press)} >
            <Text style={defaultStyles.logUnder} >
            {link}
            </Text>
        </TouchableWithoutFeedback>
    </View>
    );
}

export default LoginOptions;