0

我是反应原生的新手。我正在使用反应本机操作按钮,如果单击按钮,我想要,然后显示其他页面。这是我的代码,但仍然无法正常工作。有什么解决办法吗?

render() {
    return (
        <View style={styles.container}>
           <ActionButton buttonColor="#1E73C1" onPress={() => this.buttonPressed}>
          </ActionButton>
        </View>
    );
  }

 buttonPressed() {
    this.props.navigation.navigate('NewCase', {});
  }
4

3 回答 3

0

确保将导航道具传递给组件

于 2017-05-12T09:45:12.957 回答
0

您根本不执行buttonPressed。修复它()

<ActionButton buttonColor="#1E73C1" onPress={() => this.buttonPressed()}>

其他方式是:

<ActionButton buttonColor="#1E73C1" onPress={this.buttonPressed.bind(this)}>

就像评论中所说的那样,您应该确保导航确实存在于道具中。

于 2017-05-12T10:01:27.910 回答
0

例子

<ActionButton buttonColor="#1E73C1" onPress={() => this.buttonPressed('page2')}>

buttonPressed(page){
  this.props.navigator.replace({
    id: page,
  })
}

如果你有一个 buttonPressed() 来执行你需要放置 buttonPressed() 的转换,你只需放 buttonPressed 并没有真正做任何事情,顺便说一句,要做的一件好事是将这种类型的函数放在 '_' 后面,像这样: _buttonPressed('page2') 然后 _buttonPressed(page) ,这有助于了解你在做什么

于 2017-05-12T10:18:23.210 回答