1. Ваш ответ в JSON не является полным JSON должно быть таким:
{
data: {
allPosts: [
{
title: "vesti",
createdAt: "2020-04-05T12:37:09.451520+00:00",
content: "<p><strong>asdasda</strong></p>",
postImage: "post/logo.png",
postedBy: {
username: "filip"
}
},
{
title: "asds",
createdAt: "2020-04-05T17:44:11.291829+00:00",
content: "<p>asdasd</p>",
postImage: "",
postedBy: {
username: "filip"
}
}
]
}
}
2. Вы отправляете свой data.allpost, который не должен быть верблюжьим, поэтому, когда вы получаете его в качестве опоры в ListPost, вам не следует оборачивать его в объект:
const ListPosts = (posts) => (...)
3. Если вы хотите отобразить объект, вам нужно будет получить доступ к массиву внутри объекта с помощью Object.entries () или Object.values (), поэтому:
Object.entries(posts).map(postArray => (...)
вернет [posts :, [ массив (2)]]
4. Теперь, когда у вас есть доступ к массиву, вам нужно отобразить его так, как вы:
postArray[1].map(post => {
return(
<div key={post.title}>
<div style={{ borderStyle: "solid" }}>
<h3>{post.title}</h3>
</div>
<div style={{ borderStyle: "solid", borderWidth: "2px" }}>
<p>{post.createdAt}</p>
<p>{post.content}</p>
<p>{post.postImage}</p>
<p>{post.postedBy.username}</p>
</div>
</div>
)}
Я создал пример этого для вас, чтобы лучше понять здесь: https://codesandbox.io/s/component-drilling-props-grxm4
Проверьте консоль, вы сможете увидеть журналы
надеюсь, это поможет вам удачи!