Daten von api-Aufruf zurückgegeben wird:Minderer Daten nicht korrekt gerendert
[
{
"1": {
"id_post": 1,
"id_user": "user01",
"text": "post1 text",
"parentId": 11
}
},
{
"2": {
"id_post": 2,
"id_user": "user01",
"text": "post2 text",
"parentId": 11
}
},
{
"3": {
"id_post": 3,
"id_user": "user01",
"text": "post3 text",
"parentId": 22
}
}
]
Im Minderer der initialState
ist:
const initialState = {
posts: [], // <= Have tried with posts: {} and posts: ''
isFetching: false,
error: {}
}
Die Art und Weise der posts
bevölkert ist:
case "FETCHING_POSTS_SUCCESS":
return {
...state,
isFetching: false,
posts: action.data
}
kann ich mapStateToProps
die Beiträge und wenn ich console.log("POSTS: ", this.props.posts)
I erhalten:
BEITRÄGE:
0 : {1: {…}}
1 : {2: {…}}
2 : {3: {…}}
Ist das, warum die folgende Funktion nicht funktioniert ?:
renderposts = (parentId = 1) => {
return Object.keys(this.props.posts)
.filter(id_post => this.props.posts[id_post].parentId == parentId)
.map((key, idx) => {
const post = this.props.post[key];
return(
<View>
<Text> { post.id_post } - { post.text } </Text>
</View>
);
});
}
ich keine Fehler bekommen, aber nichts zeigt entweder.
ich denke ich, wenn BEITRÄGE als zurückgegeben:
{1: {…}}
{2: {…}}
{3: {…}}
in der Konsole (so ist es auf diese Weise wiedergegeben), wird es funktionieren. Wenn ja, wie mache ich das?
Vielen Dank.
wenn 'posts' ein Array ist dann, warum Sie tun,' Object.keys' statt '.map'? –
Ursache (1): Ich möchte den Filter für "parentId" und (2) anwenden: Habe eine andere "onPress" -Funktionen, die auf die 'id' des Wertes abzielen, also wird für den ersten Post '' 1 '' gewählt. – Somename