undefined不是onPress的对象(评估this.props.navigation.navigate)

乔杜里·塔拉(Chaudhry Talha)

我是新来响应本机并收到此错误的人:

未定义不是对象(评估this.props.navigation.navigate)

这是一个非常常见的错误,但原因可能有所不同,因为我无法通过查看类似问题的其他答案来解决它。

我有一个包含以下代码的屏幕:

function MyClientsScreen(props) {

    return (
        <Stack.Navigator>
            <Stack.Screen name='Clients' component={ClientSrc} options={{
                title: 'My Clients',
                headerRight: () => (
                    <TouchableOpacity onPress={() => props.navigation.navigate('AddClients')}>
                        <Image source={require('../assets/addClient.png')} style={styles.addBtnImg} />
                    </TouchableOpacity>
                ),
            }} />
            <Stack.Screen name='AddClients' component={AddClientSrc} options={{
                title: 'Add New Client',
                headerRight: () => (
                    <TouchableOpacity>
                        <Text style={styles.headerButtton}>Save</Text>
                    </TouchableOpacity>
                )
            }} />
        </Stack.Navigator>
    );
}

headerRight当前屏幕上的按钮应该导航到AddClients(这是堆栈导航内部)pessed时。

navigation没有在任何地方定义,并且当我将按钮代码包含在所创建的函数中时,我能够执行此操作,const ClientSrc = ({ navigation }) => {...但是当我将按钮作为headerRight按钮移动时onPress开始抛出错误。

古拉帕兰·吉里塔兰(Guruparan Giritharan)

为了获得导航道具,该组件应该是导航的一部分。

您可以像下面这样处理不同

<Stack.Screen name='Clients' component={ClientSrc} options={({ navigation }) => ({
                title: 'My Clients',
                headerRight: () => (
                    <TouchableOpacity onPress={() => navigation.navigate('AddClients')}>
                        <Image source={require('../assets/addClient.png')} style={styles.addBtnImg} />
                    </TouchableOpacity>
                ),
            })} />

这些选项将导航传递给给定的功能,您可以使用该功能并访问导航。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

React Redux - undefined 不是评估 this.props.navigation.navigate 的对象

React Native:undefined 不是对象(评估“props.navigation.navigate”)

React Native:undefined 不是一个对象(评估'_this2.props.navigation.navigate')

undefined不是对象(评估'_this2.props.navigation.navigate')-React Native

React Native:TypeError:undefined不是一个对象(评估'this.props.navigation.navigate')

反应native:undefined不是对象(评估'_this2.props.navigation.navigate')

undefined 不是一个对象(评估'_this2.props.navigation.navigate')

React-native:undefined不是对象(评估'_this3.props.navigation.navigate')

可能的未处理的承诺拒绝(id:0):TypeError:undefined不是对象(评估'_this.props.navigation.navigate')

undefined不是递归组件上的对象(评估'_this2.props.navigation.navigate')

Undefined 不是一个对象(评估'this.props.navigation.navigate')React native

undefined 不是一个对象(评估'_this.props.navigation.navigate')点击按钮

导航到另一个屏幕时,undefined不是对象(评估“ this.props.navigation.navigate”)

类型错误:未定义不是对象(评估“props.navigation.navigate”)

未定义不是对象(评估'this.props.navigation.navigate')-抽屉导航器

未定义不是对象(评估'_this3.props.navigation.navigate')

未定义不是对象(正在评估'_this2.props.navigation.navigate')Alert.alert

React Native props.navigation.navigate不是对象

例外:undefined不是对象(评估“ navigation.navigate”)

react-native-navigation给出错误“未定义不是对象(正在评估'_this.props.navigation.navigate')”

在onpress中收到this.props.navigation.navigate错误

未定义(评估'this.props.navigation.navigate')React Native

React Native:React Navigation StackNavigator 不工作。得到错误:“未定义不是一个对象(评估'this.props.navigation.navigate')”

React Native-导航问题“未定义不是对象(this.props.navigation.navigate)”

this.props.navigation.dispatch与this.props.navigation.navigate之间的区别?

this.props.navigation.navigate()是未定义

this.props.navigation.navigate() 不起作用

react-native: undefined 不是带有反应导航的对象(评估“_this2.props.navigation”)

undefined 不是一个对象(评估'this.props.navigation')反应导航