2017-08-28 146 views
0

我是新来的React Native,我想导航到按钮按下新的页面。我已经创建了我自己的自定义按钮供屏幕之间重复使用React原生导航按钮按

export default class NormalButton extends Component { 

constructor(props) { 
    super(props); 
} 

render() { 
    return (
     <TouchableOpacity 
      style={styles.button} 
      onPress={this.props.onPress} 
      > 
      <Text style={styles.text}>{this.props.text}</Text> 
     </TouchableOpacity> 
    ); 
} 
} 

我想打电话给我的主类此按钮,然后导航到另一个屏幕单击按钮时。

export default class Home extends Component { 

static route = { 
    navigationBar: { 
     title: 'Home', 
    } 
} 

constructor(props) { 
    super(props); 
} 

onTestPress =() => { 
    this.props.navigator.push('page2'); 
} 

render() { 
    return(
     <NormalButton 
      text="test" 
      onPress={this.onTestPress} 
     /> 
    ); 
} 
} 

当我这样做,我得到一个警告,说也。“现有的状态转换过程中无法更新”,如果我从我的Home类取出onPress,只是将其放置在NormalButton类,它激活onPress立即当应用程序启动并进入下一个屏幕

+0

当你不喜欢它上面的代码,你会得到一个警告,但它的工作原理? –

回答

0

你需要在这样的道具中使用箭头绑定。

onPress={() => this.onTestPress()}