Tutorial React
Komponen fungsi kanthi tipe, siji berkas saben siji, dikontrol nganggo pola standar
value + onChange — kabèh mlaku kaya sing wis dilakoni React.
Apa sing bakal sampeyan gawé
Formulir kontak cilik — kolom nganggo label, tombol kirim, kahanan sing dikontrol, prilaku keyboard lan pamaca layar sing nyata — dhisik polosan, banjur ditata, kira-kira 10 menit.
Sadurunge miwiti
Sampeyan butuh git, Node 22 utawa luwih anyar, lan pnpm 10 utawa luwih anyar. Proyek React 18+ apa wae bisa — Next.js, Vite utawa React biasa.
Langkah 1 — Njupuk kode
git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-react-headless
pnpm install
pnpm test # vitest + @testing-library/react
pnpm run storybook # browse all 571 components
Komponen iku berkas rata ing components/ —
Button.tsx, TextInput.tsx — saben siji kanthi tes, story lan dokumentasiné ing jejeré. Salin berkas sing dibutuhaké menyang aplikasi sampeyan, utawa tarik repositori lan impor saka kono.
Langkah 2 — Komponen pisanan sampeyan
import Button from "lily-design-system-react-headless/components/Button";
export function SaveBar() {
return <Button onClick={save}>Save</Button>;
}
Nampilaké <button class="button" type="button">. Props:
type, disabled, pressed (nampilaké
aria-pressed), label (
aria-label kanggo nimpa), className, lan atribut tambahan apa wae nyebar ing unsur oyod.
Langkah 3 — Nyusun formulir cilik
import { useState } from "react";
import Form from ".../components/Form";
import Field from ".../components/Field";
import TextInput from ".../components/TextInput";
import Button from ".../components/Button";
export function ContactForm() {
const [name, setName] = useState("");
return (
<Form label="Contact form" onSubmit={handleSubmit}>
<Field label="Full name" required>
<TextInput id="name" label="Full name" value={name} onChange={setName} required />
</Field>
<Button type="submit">Save</Button>
</Form>
);
}
Field nampa label minangka prop dhéwé, dudu komponen label sing disarangaké — lulusna sepisan, ing
Fieldlan TextInputsing cocog saka
label nyedhiyakaké jeneng sing bisa diakses.
Dikonfirmasi 2026-08-29: konsep sadurungé nyarangaké komponen Label ing njero Field, sing nampilaké
rong label (siji kosong) amarga Field wis nampilaké dhéwé saka input label prop — ditemokaké kanthi ngompilasi potongan sing persis. Rute
Rute formulir kontak gabungan
iku pola sing padha, diuji nganggo tes e2e lan axe nyata.
Langkah 4 — Tata
Kabèh ing ndhuwur dirender minangka struktur murni, siap kanggo gaya sampeyan. Tata pancingan — .button,
.text-input, .label, .field — ing lembar gaya sampeyan, tumpukna utilitas Tailwind liwat className, utawa sambungna tema sing wis siap:
<link rel="stylesheet" href="/themes/united-states-web-design-system.css" />
Langkah 5 — Deleng kabèh mlaku
Aplikasi conto Next.js iku katalog lengkap sing ditata lan didemonstrasiaké, kanthi Playwright e2e lan garis dhasar axe-core:
git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-react-next-examples
pnpm install && pnpm run dev
Langkah sabanjuré
- Tema — ganti nalika mlaku nganggo pembantu theme-picker React.
- Pembantu preferensi — basa lan ukuran teks.
- Katalog komponen — properti, ARIA lan keyboard saben komponen.
Ana pitakon ing dalan? Kaca pitulung kebak wangsulan — lan menawa ana langkah sing bisa luwih cetha, kandhanana kita lan kita bakal seneng nyaosi tutorial luwih apik.