繁体   English   中英

react-native-router-flux场景渲染多次

[英]React-native-router-flux scene render multiple times

所以我用react-native-router-flux这是我的场景

<Scene key="changePassword" component={ChangePassword} title="Change Password"/>

我有这个按钮,当单击该按钮时,它将转到该场景

<Button style={styles.button} onPress={() => Actions.changePassword()}>

如果我多次单击该按钮,将弹出多个场景。

有什么办法可以防止这种情况? 谢谢您的帮助:)

我认为唯一的方法是禁用已单击的按钮,在react native按钮中有一个名为Disabled的道具。

function handleButtonClick(){
  this.setState({ disabled: true });
  Actions.changePassword();
}


<Button onPress={()=> this.handleButtonClick()} disabled={this.state.disabled} />

如果单击按钮,则可以尝试延迟,将本地状态设置为:

constructor() {
    super()
    this.state = {
      inClick: false
    }
  }

并添加此功能:

onClickButton = () => {
    this.setState({ inClick: true })
    Actions.register()
    setTimeout(function() { this.setState({inClick: false}); }.bind(this), 2000);
  }

并且在您的按钮应该是这样的:

<Button warning block style={styles.button} onPress={ !this.state.inClick ? this.onClickButton : null}>

希望能对您有所帮助,谢谢:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM