Atributele value în select în React

Să presupunem că acum în tag-urile option avem atributele value:

jsxfunction App() {
  return <div>
    <select>
      <option value="1">text1</option>
      <option value="2">text2</option>
      <option value="3">text3</option>
    </select>
  </div>;
}

În acest caz, datorită prezenței atributelor value, în starea componentei vor intra valorile acestora, și nu textele din tag-urile option. Putem verifica acest lucru, afișând rezultatul selecției într-un paragraf:

jsxfunction App() {
  const [value, setValue] = useState('');
  
  return <div>
    <select value={value} onChange={(event) => setValue(event.target.value)}>
      <option value="1">text1</option>
      <option value="2">text2</option>
      <option value="3">text3</option>
    </select>
    <p>
      alegerea dumneavoastră: {value}
    </p>
  </div>;
}

Separarea textului option de valoarea sa poate fi convenabilă: putem schimba textul tag-ului după cum dorim, în timp ce în scriptul nostru rezultatul selecției va fi procesat în funcție de valoarea atributului value, care va rămâne neschimbată.

Uitați-vă la exemplu:

jsxfunction App() {
  const [value, setValue] = useState('');
  
  return <div>
    <select value={value} onChange={event => setValue(event.target.value)}>
      <option value="1">text1</option>
      <option value="2">text2</option>
      <option value="3">text3</option>
    </select>
    <p>
      {value === '1' && 'ați ales prima opțiune'}
      {value === '2' && 'ați ales a doua opțiune'}
      {value === '3' && 'ați ales a treia opțiune'}
    </p>
  </div>;
}

Acum, dacă vom schimba textele din tag-urile option, funcționarea scriptului nu se va perturba - deoarece ea este legată de valoarea atributului value.

Задание 1

Folosind lista derulantă, sugerați utilizatorului să selecteze cărei grupe de vârstă îi aparține: de la 0 la 12 ani, de la 13 la 17, de la 18 la 25, sau peste 25 de ani.