InfiniteScrollBasic
컴포넌트는 사용자가 페이지를 스크롤할 때마다 새로운 항목을 로드하는 기본적인 인피니티 스크롤을 제공합니다. 아래는 이 컴포넌트를 사용하는 방법에 대한 설명입니다.
import InfiniteScrollBasic from '@components/InfiniteScroll/InfiniteScrollBasic';
기본 사용 예제는 아래와 같습니다:
import InfiniteScrollBasic from '@components/InfiniteScroll/InfiniteScrollBasic';
function Example() {
const content = [
"This is the first sentence of the infinite scroll example.",
"Here is the second sentence that will appear.",
"The third sentence shows up as you scroll down.",
// ... (더 많은 문장들)
];
return <InfiniteScrollBasic content={content} />;
}
export default Example;
InfiniteScrollBasic
컴포넌트는 아래와 같은 Props를 가집니다:
Prop | Description | Type | Default |
---|---|---|---|
content | 스크롤 시 로드할 항목들의 리스트입니다. | string[] | [] |
import InfiniteScrollBasic from '@components/InfiniteScroll/InfiniteScrollBasic';
function FullExample() {
const content = [
"This is the first sentence of the infinite scroll example.",
"Here is the second sentence that will appear.",
// ... (더 많은 문장들)
];
return <InfiniteScrollBasic content={content} />;
}
export default FullExample;
InfiniteScrollImage
컴포넌트는 사용자가 페이지를 스크롤할 때마다 새로운 이미지를 로드하는 인피니티 스크롤을 제공합니다. 이 컴포넌트는 이미지 URL 배열을 받아 이미지를 무한히 로드할 수 있습니다.
import InfiniteScrollImage from '@components/InfiniteScroll/InfiniteScrollImage';
기본 사용 예제는 아래와 같습니다:
import InfiniteScrollImage from '@components/InfiniteScroll/InfiniteScrollImage';
function Example() {
const images = [
"/images/image1.jpg",
"/images/image2.jpg",
"/images/image3.jpg",
"/images/image4.jpg",
// ... 더 많은 이미지
];
return <InfiniteScrollImage images={images} />;
}
export default Example;
InfiniteScrollImage
컴포넌트는 아래와 같은 Props를 가집니다:
Prop | Description | Type | Default |
---|---|---|---|
images | 스크롤 시 로드할 이미지들의 URL 배열입니다. | string[] | [] |
import InfiniteScrollImage from '@components/InfiniteScroll/InfiniteScrollImage';
function FullExample() {
const images = [
"/images/image1.jpg",
"/images/image2.jpg",
"/images/image3.jpg",
"/images/image4.jpg",
"/images/image5.jpg",
// ... 더 많은 이미지
];
return <InfiniteScrollImage images={images} />;
}
export default FullExample;
InfiniteScrollBlogPosts
컴포넌트는 외부 API에서 블로그 포스트 데이터를 가져와 무한 스크롤을 통해 표시하는 예제입니다. 이 컴포넌트는 InfiniteScrollBasic
을 사용하여 데이터를 스크롤하면서 표시합니다.
데이터는 koreanjson.com 에서 제공되는 샘플 블로그 포스트 데이터를 사용하며, 제목과 본문을 무한 스크롤로 표시합니다. 각 포스트의 문장은 구분자로 나뉘어 각각의 항목으로 표시됩니다.
import InfiniteScrollBlogPosts from '@components/InfiniteScroll/InfiniteScrollBlogPosts';
기본 사용 예제는 아래와 같습니다:
Loading...
import InfiniteScrollBlogPosts from '@components/InfiniteScroll/InfiniteScrollBlogPosts';
function Example() {
return <InfiniteScrollBlogPosts />;
}
export default Example;
InfiniteScrollBlogPosts
컴포넌트는 별도의 props를 사용하지 않으며, 내부에서 데이터를 가져와 표시하는 기능을 수행합니다.
import { useState, useEffect } from "react";
import InfiniteScrollBasic from "./InfiniteScrollBasic";
interface BlogPost {
id: number;
title: string;
content: string;
createdAt: string;
updatedAt: string;
UserId: number;
}
const InfiniteScrollBlogPosts = () => {
const [content, setContent] = useState<string[]>([]);
useEffect(() => {
const fetchBlogPosts = async () => {
try {
const response = await fetch("https://koreanjson.com/posts/1");
const data: BlogPost = await response.json();
const titleParts = data.title.split(".");
const contentParts = data.content.split(".");
const displayText = [...titleParts, ...contentParts];
setContent(displayText);
} catch (error) {
console.error("Failed to load data", error);
}
};
fetchBlogPosts();
}, []);
return (
<div>
<InfiniteScrollBasic content={content} />
</div>
);
};
export default InfiniteScrollBlogPosts;