【问题标题】:react native set state to text value from flatlist将本机设置状态反应到来自平面列表的文本值
【发布时间】:2020-03-22 04:33:34
【问题描述】:

在我的 react native 应用程序中,我有一个 sqlite 存储解决方案,在此页面上,我从表中选择一条记录并使用平面列表来显示该值,效果很好:

<FlatList
    data={this.state.FlatListActivityItems}
    ItemSeparatorComponent={this.ListViewItemSeparator}
    keyExtractor={(item, index) => index.toString()}
    renderItem={({ item }) => (
        <View key={item.id}>
            <Text style={styles.textUnderlines}>{item.activity} <Text style={styles.recordsTypes}>
                Minutes
            </Text></Text>
        </View>
    )}
/>

问题是,我需要在这个页面的另一个地方使用相同的 item.activity 值作为当前使用状态的数据对象

this.state = {activity: ''}

有没有一种方法可以在页面加载时获取值 {item.activity} 并将其设置为活动状态,以便我可以在页面中的任何其他位置通过状态调用使用它?

【问题讨论】:

  • 有几个item.activity,你想要哪个????被点击的那个???
  • 如果您使用的是 Flatlist,则意味着您拥有多个 item.activity 的值。您选择哪一个需要在页面的其余部分使用?
  • 我使用的是平面列表,但只有一个值,因为查询将其限制为 1。我只显示一个值用于显示目的,我需要将其设置为加载状态

标签: sqlite react-native expo


【解决方案1】:

所以你在哪里获取 flatlist 的数据,就在那里获取值并设置它,如下所示

vartemp = this.state.FlatListActivityItems[0].activity
this.setState({activity:vartemp})

我希望这会有所帮助....谢谢:)

【讨论】:

  • 我需要一种方法来在页面加载时设置它而无需点击。在这种情况下它只是为了显示,即使它是一个平面列表,查询也只返回一个值,所以只会有一个 item.activity。我只希望正在显示的内容无需单击即可设置为状态
猜你喜欢
  • 2020-08-09
  • 2021-09-12
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
  • 2022-12-11
  • 1970-01-01
  • 1970-01-01
  • 2021-11-27
相关资源
最近更新 更多