我正在创建一个androidTV应用程序,并试图使用TouchableNativeFeedback来获取当前FlatList的焦点项。
我试过使用 "onFocus "来改变FlatList项有焦点时的状态,但当应用程序渲染时,它似乎聚焦于每个项目,因为它被加载到FlatList中,导致许多SetState更新错误。我尝试在onfocus中使用"()=> "来停止它在渲染时的运行,但这似乎使它完全停止了工作。
<View style={styles.containerItemNow}>
<TouchableNativeFeedback background={TouchableNativeFeedback.Ripple('#f14621', true)} onFocus={this.UpdateStatus(item.status)} onPress={() => this.downloadfile(item.url)}>
<View style={styles.containerItemNowSelected}>
<Text style={{color: 'white'}}>{item.title}</Text>
</View>
</TouchableNativeFeedback>
</View>
我希望当用户使用d-pad移动时,项目会以波纹效果突出显示,并运行onfocus并更新所需的状态,但即使项目的波纹效果显示onfocus没有运行,也不会发生这种情况。