【发布时间】:2021-01-17 21:53:22
【问题描述】:
如何从嵌套在这种状态的数组中访问单个元素
state = {
modal: false,
post: [
{
key: "1",
title: "A Good Boi",
des: "He's a good boi and every one know it.",
image: require("../assets/dog.jpg"),
},
{
key: "2",
title: "John Cena",
des: "As you can see, You can't see me!",
image: require("../assets/cena.jpg"),
},
]
};
.....
<MyList.Provider
value={{
}}
>
<FlatList
data={this.state.post}
renderItem={({ item }) => (
<>
<TouchableOpacity
activeOpacity={0.7}
onPress={() => this.deleteItem(item)}
style={styles.Delete}
>
<MaterialCommunityIcons name="delete" color="red" size={30} />
</TouchableOpacity>
<TouchableOpacity
activeOpacity={0.7}
onPress={() => this.props.navigation.navigate("Edit", item)}
style={styles.Edit}
>
<MaterialCommunityIcons
name="playlist-edit"
color="green"
size={35}
/>
</TouchableOpacity>
<Card
title={item.title}
subTitle={item.des}
image={item.image}
onPress={() =>
this.props.navigation.navigate("Details", item)
}
/>
</>
)}
/>
</MyList.Provider>
我怎样才能像this.state.post({title}) 或其他方式那样做呢?
我需要将此值与上下文一起使用,以便我可以在 2 个屏幕之间共享和更改一些特定数据。我知道传递需要使用上下文或导航的数据。导航(“路线名称”,项目)。但是,如果我使用导航,我将无法编辑它,但是如何从数组集中传递上下文值中的数据,如果我这样做 this.state.post 它将返回整个列表,如果我这样做 this.state.post[0 ].title 它将仅返回该帖子的标题。那么我该怎么做呢?请帮忙
【问题讨论】:
-
你在问如何访问数组元素的属性?
-
this.state.post[0].title访问特定元素的标题。一般来说:reactjs.org/docs/lists-and-keys.html -
我读到了 this.state.post[0].title 但是我怎样才能通过 key 而不是 0 我在平面列表上使用 context.provider
标签: javascript reactjs react-native react-context