Sobes.tech
Middle

Mi a különbség a kontrollált és kontrollálatlan bemenet között, és mikor melyiket használjuk?

sobes.tech MI

Válasz az MI-től

Irányított bemenet — ez egy űrlapelem, amelynek értéke teljes mértékben a komponens állapota által van irányítva (például React-ben). A mező értékét az állapotban tárolják, és eseménykezelőn keresztül frissítik.

Irányítatlan bemenet — ez egy olyan űrlapelem, amelyet a DOM kezel, nem pedig a komponens állapota. Az értéket szükség szerint referencia segítségével olvassák.

Mikor használjuk:

  • Az irányított bemenet akkor hasznos, ha azonnal reagálni kell a változásokra, adatokat kell validálni, vagy szinkronizálni kell az alkalmazás állapotával.
  • Az irányítatlan bemenet egyszerűbb és gyorsabb egyszerű űrlapokhoz, ahol nincs szükség folyamatos ellenőrzésre.

React példája irányított bemenetre:

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

Példa irányítatlan bemenetre:

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