React-da saýlawda value atributlary

Indi option teglerinde value atributlary bolsun:

jsxfunction App() {
  return <div>
    <select>
      <option value="1">tekst1</option>
      <option value="2">tekst2</option>
      <option value="3">tekst3</option>
    </select>
  </div>;
}

Şeýle ýagdaýda value atributlarynyň bolmagy sebäpli, state-de ýerleşjek bolan dogry, option tegleriň däl-de, value atributlarynyň bahalary bolar. Muny saýlamanyň netijesini abzasa çykaryp, anyklap bolýar:

jsxfunction App() {
  const [value, setValue] = useState('');
  
  return <div>
    <select value={value} onChange={(event) => setValue(event.target.value)}>
      <option value="1">tekst1</option>
      <option value="2">tekst2</option>
      <option value="3">tekst3</option>
    </select>
    <p>
      siziň saýlanyşyňyz: {value}
    </p>
  </div>;
}

option teginiň tekstini we onuň bahasyny ayyrmak amatly bolar: teginiň tekstini islendik ýaly üýtgedip bileris, şol bir wagtyň özünde skriptimizde saýlamanyň netijesi value atributynyň bahasyna görä işlenip, ol üýtgewsiz galar.

Mysala serediň:

jsxfunction App() {
  const [value, setValue] = useState('');
  
  return <div>
    <select value={value} onChange={event => setValue(event.target.value)}>
      <option value="1">tekst1</option>
      <option value="2">tekst2</option>
      <option value="3">tekst3</option>
    </select>
    <p>
      {value === '1' && 'siz birinji puntky saýladyňyz'}
      {value === '2' && 'siz ikinji puntky saýladyňyz'}
      {value === '3' && 'siz üçünji puntky saýladyňyz'}
    </p>
  </div>;
}

Indi, eger biz option tegleriniň tekstini üýtgetsek, skriptiň işi bozulmaz - sebäbi ol value atributynyň bahasyna bagly.

Задание 1

Aşak düşýän sanaw ýardamy bilen ulanyjyja, haýsy ýaş toparyna degişlidigini saýlamagy teklip ediň: 0-dan 12 ýaşa çenli, 13-den 17-e çenli, 18-den 25-e çenli, ýa-da 25 ýaşdan uly.