2016-09-22 122 views
0

功能工作,我有以下代碼:反應本地路由器通量:Actions.KEY不內傳遞給onPress

_renderMenuItem(name) { 
    return (
     <TouchableHighlight onPress={() => this._onItemClicked(name) }> 
      <Text>{name}</Text> 
     </TouchableHighlight> 
    ) 
} 

_onItemClicked(name) { 
    Actions.categoryScreen() 
    this.props.dispatch(updateActivePage(name)) 

    // Close the NavigationDrawer 
    Actions.refresh({ key: 'drawer', open: false }) 
} 

Actions.refresh()工作正常,但Actions.categoryScreen()不-looks像沒有真正發生。如果我更換傳遞給onPressonPress={Actions.categoryScreen}參數然後正常工作和categoryScreen所示。然而,這並不能幫助我,因爲有更多的東西,我想在onPress被觸發要做,我還需要通過「名稱」參數。

任何想法,任何人嗎?

在此先感謝。

回答

0

我找到了解決辦法感謝this報告的問題上反應本地路由器通量的存儲庫。似乎是,當兩個動作觸發一前一後,則只有第二個實際工作中的錯誤。所以人們發佈併爲我工作的解決方法是用超時觸發第二個Action。即使超時時間爲0,它也能正常工作。以下是我的_onItemClicked的外觀:

_onItemClicked(name) { 
    Actions.categoryScreen() 
    this.props.dispatch(updateActivePage(name)) 

    // Close the NavigationDrawer. 
    setTimeout(() => Actions.refresh({ key: 'drawer', open: false }), 0) 
} 
相關問題