当我使用 useEffect 和 useState 时,我的 jsx 没有填充

My jsx is not populating when I used useEffect and useState

我填充代码的文件代码

import React, { useEffect, useState } from "react";
import blogStyle from "../styles/Blog.module.css";
import Link from "next/link";

function blog() {
  const [blogs, setBlogs] = useState([]);
  useEffect(() => {
    fetch("http://localhost:3000/api/allBlogs")
      .then((parsingData) => {
        return parsingData.json();
      })
      .then((data) => {
        setBlogs(data);
        console.log(data);
      });
  }, []);

  return (
    <>
      <div className={blogStyle.blog}>
        {blogs.map((blogItem) => {
          <div className={blogStyle.blogItemTemplate} key={blogItem.title}>
            <Link href={`/blogPost/how-to-learn-js`}>
              <h2 className={blogStyle.blogItemHeading}>{blogItem.title}</h2>
            </Link>
            <p className={blogStyle.blogItemPara}>{blogItem.content}</p>
            <div className={blogStyle.blogItemPara}>{blogItem.writer}</div>
          </div>;
        })}
      </div>
    </>
  );
}

我在我的本地主机上得到了什么 image here

控制台一切正常,没有错误,我得到了获取的数据。我使用 useState 将获取的数据存储在博客中,这是成功的,但是当我使用 jsx 中的博客填充数据时,没有任何显示。使用地图功能,我在控制台登录时获得了标题和描述,但未显示在本地主机中

我很确定你有一些额外的牙套,试试这个:

{blogs.map((blogItem) => ( // <-- see here
    <div className={blogStyle.blogItemTemplate} key={blogItem.title}>
        <Link href={`/blogPost/how-to-learn-js`}>
            <h2 className={blogStyle.blogItemHeading}>{blogItem.title}</h2>
        </Link>
        <p className={blogStyle.blogItemPara} >{blogItem.content}</p>
        <div className={blogStyle.blogItemPara}>{blogItem.writer}</div>
    </div>
))} // <-- and here

在 return 语句中编写 jsx 代码,例如 blogs.map((blogItem) => {return (...your jsx code)}),否则试试这个 blogs.map((blogItem) => (...your jsx code.)).