2017-08-29 125 views
0

我渲染一個ListView,每個項目是一個TouchableHighlightonPress調度一個動作來加載數據。數據以狀態存儲,導致應用的另一部分在列表下呈現。React-native和redux動畫性能onPress

在Android上,連續按列表項會導致動畫延遲到ajax請求完成之後。有沒有辦法讓突出顯示成爲優先事項,以便反饋不會被延遲?

//Handler 
handleOnPress =() => { 
    dispatch(makeAjaxRequest()) 
} 

// Component 
<TouchableHighlight onPress={this.handleOnPress}> 
    <Text>List item</Text> 
</TouchableHighlight> 

回答

0

如果使用handleOnPress功能以這種方式,通過渲染頁面的所有onPress事件會打電話,如果你修改onPress道具onPress={this.handleOnPress}這種功能,它會導致很多handleOnPress功能的騷擾呼叫的只能將就當您按下TouchableHighlight項目時會發出呼叫,這會幫助您減少延遲並正確控制狀態。您的代碼將如下所示:

//Handler 
handleOnPress =() => { 
    dispatch(makeAjaxRequest()) 
} 

// Component 
<TouchableHighlight onPress={this.handleOnPress}> 
    <Text>List item</Text> 
</TouchableHighlight> 
+0

它能幫助您嗎? –

+0

哦,對不起,這只是我寫這個例子時的一個錯字。更新:) handleOnPress只發生一次touchableHighlight。我已經驗證了這個 – neolaser

+0

我很高興你的問題解決了。 –