我有代码:
const Forms = () => {
const [messageText, setMessageText]: any = useState("");
useEffect(() => {
const getPosts = () => {
axios.post('http://localhost:8080/graphql/', {
query: `
{
getPosts(option: true) {
id
message
}
}
`
})
.then((res) => {
const andrey = res.data.data.getPosts
setMessageText(andrey)
})
.catch((error) => {
console.error(error)
})
};
getPosts()
}, [])
console.log(messageText)
return (
<div>
<div style={{alignItems: "center", justifyContent: "center", textAlign: "center"}}>
{Object.keys(messageText).map((data: any) => (
<Form message={data.message}/>
))}
</div>
<Input/>
</div>
);
};
export default Forms;
我想用json键文本显示div元素,但div元素是空的。如果我只显示数据,那么页面上显示的是数字而不是文本。请帮助我。这是我的浏览器中出现的内容:
2条答案
按热度按时间fnatzsnv1#
开始,使用Object.keys来Map messageText 是不必要的。从我在您的控制台上看到的来看,它已经是一个数组。同样,您只向Form组件传递消息。您可以像这样传递 message 和 id:
然后在Form组件中,像这样使用它:
bkhjykvo2#
我的解决方案:
};