将本机设置状态反应到来自平面列表的文本值

Posted

技术标签:

【中文标题】将本机设置状态反应到来自平面列表的文本值【英文标题】: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。我只显示一个值用于显示目的,我需要将其设置为加载状态 【参考方案1】:

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

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

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

【讨论】:

我需要一种方法来在页面加载时设置它而无需点击。在这种情况下它只是为了显示,即使它是一个平面列表,查询也只返回一个值,所以只会有一个 item.activity。我只希望正在显示的内容无需单击即可设置为状态

以上是关于将本机设置状态反应到来自平面列表的文本值的主要内容,如果未能解决你的问题,请参考以下文章

如何在本机反应中从平面列表中设置 Json 数组

反应本机最后一个文本输入框最后没有设置值 onChange

反应本机列表视图

我想在本机反应中获取数据到文本

如何将对象迭代到平面列表中 - 反应原生?

反应本机中的TextInput显示具有颜色背景的文本值