首页 > 解决方案 > 如何获取当前关注的 FlatList 项

问题描述

我正在创建一个 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 没有运行,这种情况也不会发生

标签: react-nativereact-native-androidandroid-tvreact-native-flatlist

解决方案


推荐阅读