React tutoriala
Funtzio-osagai tipatuak, fitxategi bat bakoitza, patroi estandarrarekin kontrolatuak
value + onChange — dena React-ek dagoeneko egiten duen bezala funtzionatzen du.
Zer eraikiko duzun
Harremanetarako formulario txiki bat — etiketadun sarrera, bidaltze-botoia, egoera kontrolatua, teklatu eta pantaila-irakurgailu portaera erreala — lehenik biluzik, gero estilatuta, 10 minutu inguruan.
Hasi aurretik
git, Node 22 edo berriagoa eta pnpm 10 edo berriagoa behar dituzu. Edozein React 18+ proiektuk balio du — Next.js, Vite edo React soila.
1. pausoa — Lortu kodea
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
Osagaiak fitxategi lau gisa daude hemen: components/ —
Button.tsx, TextInput.tsx — bakoitza bere proba, story eta dokumentazioarekin batera. Kopiatu behar dituzun fitxategiak zure aplikaziora, edo egin vendoring biltegiari eta inportatu handik.
2. pausoa — Zure lehen osagaia
import Button from "lily-design-system-react-headless/components/Button";
export function SaveBar() {
return <Button onClick={save}>Save</Button>;
}
Errendatzen du <button class="button" type="button">. Propak:
type, disabled, pressed (errendatzen du
aria-pressed), label (
aria-label gainidazketa), className, eta atributu gehigarri oro erro-elementuan hedatzen da.
3. pausoa — Osatu formulario txiki bat
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 etiketa ikusgarria label bere propa gisa, etiketa-osagai habiaratu gisa baino — eman behin,
Field, eta TextInput-ak
label -n
2026-08-29an egiaztatua: aurreko zirriborro batek Label -ren barruan Fieldbarruan, eta honek
bi etiketa errendatzen zituen (bat hutsik) zeren Field -k jada bere etiketa errendatzen baitu label propa — snippet zehatza konpilatuz atzeman zen.
harremanetarako formulario konposatuaren ibilbideak
patroi bera du, benetako e2e eta axe probekin erabilia.
4. pausoa — Estilatu
Gainean dagoen guztia egitura huts gisa errendatzen da, zure estilorako prest. Estilatu gakoak — .button,
.text-input, .label, .field — zure estilo-orrian, jarri Tailwind utilitateak honen bidez: className, edo lotu prest dagoen gai bat:
<link rel="stylesheet" href="/themes/united-states-web-design-system.css" />
5. pausoa — Ikusi dena funtzionatzen
Next.js adibide-aplikazioa katalogo osoa da estilatuta eta demostratuta, Playwright e2e eta axe-core oinarri-lerroarekin:
git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-react-next-examples
pnpm install && pnpm run dev
Hurrengo pausoak
- Gaiak — exekuzio-garaiko aldaketa React theme-picker laguntzailearekin.
- Lehentasun-laguntzaileak — hizkuntza eta testu-tamaina.
- Osagai-katalogoa — osagai bakoitzaren propak, ARIA eta teklatua.
Galderarik bidean? laguntza-orriak erantzunez beteta dago — eta pauso bat argiagoa izan badaiteke, esan iezaguzu eta pozik hobetuko dugu tutoriala.