首页 > 解决方案 > 反应原生屏幕之间的导航

问题描述

所以我尝试在两个屏幕之间导航。我在标签栏(右)上创建了一个按钮,但问题是它总是说未定义。这是代码:

static navigationOptions = {

    headerTitleStyle: { alignSelf: 'center', },
    title:'Oferte',
    headerStyle: {
      backgroundColor: '#BA272A',
    },
    headerRight: (

     <View style={{paddingRight:11}}>
       <Button
        color="#ff5c5c" title="Tombola"
        onPress={() => this.props.navigation( 'Post', { name: 'Jane'} )}
       />
    </View> 
    ),
    headerTintColor: 'white',
    headerTitleStyle: {
      fontWeight: 'bold',
    },
  }

标签: reactjsreact-nativereact-navigation

解决方案


查看https://reactnavigation.org/docs/4.x/redux-integration/#setparams-from-your-screen,您可能应该这样做:

static navigationOptions = ({navigation}) => ({

headerTitleStyle: { alignSelf: 'center', },
title:'Oferte',
headerStyle: {
  backgroundColor: '#BA272A',
},
headerRight: (

 <View style={{paddingRight:11}}>
   <Button
    color="#ff5c5c" title="Tombola"
    onPress={() => navigation( 'Post', { name: 'Jane'} )}
   />
</View> 
),
headerTintColor: 'white',
headerTitleStyle: {
  fontWeight: 'bold',
},
}}

this静态属性或方法中使用时,它将引用类本身,而不是组件的实例。


推荐阅读