Loading
- Loading
미리보기는 샘플 데이터로 동작합니다. 네트워크도 채널도 필요 없습니다.
tsx
import { YuvaDiscussionsProvider } from "@/hooks/use-yuva-discussions"
import { useIdeas } from "@/hooks/use-yuva-roadmap"
function Planned() {
const { ideas, loading } = useIdeas("planned", "top")
if (loading) return null
return (
<ul>
{ideas.map((idea) => (
<li key={idea.id}>
{idea.title} ({idea.votes})
</li>
))}
</ul>
)
}
export function Roadmap() {
return (
<YuvaDiscussionsProvider
server={process.env.NEXT_PUBLIC_YUVA_SERVER}
channel={process.env.NEXT_PUBLIC_YUVA_CHANNEL}
>
<Planned />
</YuvaDiscussionsProvider>
)
}설치
shadcn 프로젝트에서 실행하세요. 파일이 여러분의 코드로 복사됩니다.
Shell
npx shadcn@latest add https://useyuva.com/r/use-yuva-roadmap.jsonShell
pnpm dlx shadcn@latest add https://useyuva.com/r/use-yuva-roadmap.jsonShell
yarn dlx shadcn@latest add https://useyuva.com/r/use-yuva-roadmap.jsonShell
bunx --bun shadcn@latest add https://useyuva.com/r/use-yuva-roadmap.json사용법
tsx
import { useIdeas, useRoadmap } from "@/hooks/use-yuva-roadmap"
const { board } = useRoadmap()
const { ideas, vote } = useIdeas("planned", "top")Props
RoadmapResult
| Prop | 유형 |
|---|---|
board | ClientRoadmap | null |
loading | boolean |
error | unknown |
reload | () => Promise<void> |
IdeasResult
| Prop | 유형 |
|---|---|
ideas | Discussion[] |
loading | boolean |
error | unknown |
hasMore | boolean |
loadMore | () => Promise<void> |
reload | () => Promise<void> |
suggest | (input: IdeaInput) => Promise<Discussion> |
vote | (idea: Discussion) => Promise<void> |
레이블
레이블 목록은 Yuva roadmap 페이지에 있습니다.
의존성
이 항목을 설치하면 다음도 함께 추가됩니다.