Sobes.tech
Middle

Jaký je rozdíl mezi řízeným a řízeným vstupem a kdy co používat?

sobes.tech AI

Odpověď od AI

Řízený vstup — je prvek formuláře, jehož hodnota je plně řízena stavem komponenty (například v Reactu). Hodnota pole je uložena ve stavu a aktualizována prostřednictvím obslužné funkce události.

Neřízený vstup — je prvek formuláře, který je řízen samotným DOMem, nikoli stavem komponenty. Hodnota je čtena přes reference, když je to potřeba.

Kdy používat:

  • Řízený vstup je vhodný, když je třeba okamžitě reagovat na změny, validovat data, synchronizovat se stavem aplikace.
  • Neřízený vstup je jednodušší a rychlejší pro jednoduché formuláře, kde není potřeba stálá kontrola zadávání.

Příklad řízeného vstupu v Reactu:

function MyInput() {
  const [value, setValue] = React.useState('');
  return <input value={value} onChange={e => setValue(e.target.value)} />;
}

Příklad neřízeného vstupu:

function MyInput() {
  const inputRef = React.useRef(null);
  const handleSubmit = () => {
    alert(inputRef.current.value);
  };
  return <>
    <input ref={inputRef} />
    <button onClick={handleSubmit}>Odeslat</button>
  </>;
}