728x90
client component에서 DB데이터 가져오려면
useEffect이용해서 서버에 부탁해서 DB데이터를 가져온다!!
"use client";
import Link from "next/link";
import WriteBtn from "./WriteBtn";
import { useEffect } from "react";
export default function BoardItem() {
useEffect(() => {}, []);
return (
<div>
<h2>Q & A</h2>
{data.map((a, i) => {
return (
<div className="list-item" key={i}>
<Link href={`/detail/` + data[i]._id}>
<h4>{data[i].title}</h4>
</Link>
<p>{data[i].content}</p>
{/* <p>{data[i]._id}</p> */}
<Link href={`/board/edit/` + data[i]._id}>수정</Link>
<button>삭제</button>
</div>
);
})}
<WriteBtn />
</div>
);
}
근데 이렇게 하면 단점은 검색노출이 어려울수도 있다.
왜나면 html을 다 렌더링한 후에 useEffect가 실행되기때문이다.
그래서 검색친화적인 사이트를 만들려면 props내리는 방식으로 짜는게 좋다.!!!
728x90
'교육후 개인공부 > React' 카테고리의 다른 글
[React] useMemo (0) | 2024.03.19 |
---|---|
[Next.js] 게시판 삭제기능 (0) | 2024.02.24 |
[Next.js] 게시판 수정기능 (1) | 2024.02.24 |
[Next.js] 입력한 데이터 mongoDB에 저장하기 (1) | 2024.02.24 |
[Next.js] 서버기능 만들려면 (0) | 2024.02.20 |