javascript - map 不是 react js 中的函数
问题描述
试图映射此响应,但即使我放入usestate
数组中,它也向我显示错误。请仔细阅读我的代码,看看您是否可以修复错误..
function Comment() {
const [comment_data, setcomment_data] = useState([]);
useEffect(() => {
const query = `
query{
forumAnswerId(id:1){
forumAnswerBody
forumAnswerTime
forumAnswerCode1
forumAnswerCode2
forumAnswerCode3
forumAnswerAuthor
forumAnswerBoolean
forumAnswerCode1Title
forumAnswerCode2Title
forumAnswerCode3Title
}
forumComment(forumAnswerComment:1){
forumAnswerCommentPost
forumAnswerCommentBody
forumAnswerCommentAuthor
forumAnswerCommentTime
}
}
`;
const opts = {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ query }),
};
const res = fetch('http://127.0.0.1:8000', opts)
.then((res) => res.json())
.then((r) => setcomment_data(r));
}, [])
const map = comment_data.map((e) => {
return (
<>
{comment_data.map((inner) => (
<>
{inner.data?.forumAnswerId?.map((data) => (
<></>
))}
</>
))}
</>
);
});
console.log(comment_data);
return (
<div>
{map}
</div>
);
}
API结构
我使用了一个useEffect
钩子来加载数据并将数据存储在状态变量中并访问它。
解决方案
如果我很好地理解了您的 api 的响应,那么您获取的不是数组。它是一个具有属性的对象,data
这就是comment_data
. 所以不行comment_data.map()
推荐阅读
- android - 为什么这个组件不起作用?
- node.js - Node Express Mongoose:数值未定义的问题
- django - 基于用户类型实现权限的最佳方式
- java - 为什么类扩展调用原始类的私有方法?
- android - 我如何为应用操作设置特定包(应用)
- unix - sudo:/usr/bin/sudo 必须由 uid 0 拥有,并在 chmod 755 之后设置 setuid 位
- python - 如何进行多键分组json转换?
- html - CSS 过渡不适用于空白:nowrap 和文本溢出:悬停时省略号
- python-3.x - 在 GPU 上运行 Keras 模型时内存不足
- amazon-web-services - 将 Windows DNS 服务器与 AWS Lightsail 结合使用