2017-08-10 112 views
1

所以我用反應本地路由器通量,這裏是我的場景陣營本地路由器通量場景渲染多次

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

而且我有這個按鈕,將到現場路線點擊

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

如果我多次單擊該按鈕,會彈出多個場景。

有什麼辦法可以防止這種情況發生?感謝您的幫助球員:)

回答

1

你可以嘗試給延時按鈕是否被點擊,把地方的國家是這樣的:

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}> 

希望可以幫助你,謝謝:)

+0

哇,這是我尋找的,謝謝! –

1

我認爲唯一的辦法是禁用按鈕,如果它已被點擊,有一個道具稱爲禁用反應原生按鈕。

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


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