React-də Select-də value atributları

İndi tutaq ki, option teqlərində value atributları var:

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

Belə bir halda, value atributlarının olması səbəbindən state-ə dəqiq onların dəyərləri düşəcək, option teqlərinin mətnləri yox. Buna seçim nəticəsini abzasda çap etməklə inana bilərik:

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>
      seçiminiz: {value}
    </p>
  </div>;
}

option mətnini və onun dəyərini ayırmaq rahat ola bilər: teqin mətnini istədiyimiz kimi dəyişə bilərik, eyni zamanda bizim skriptimizdə seçim nəticəsi value atributunun dəyərinə görə emal olunacaq, hansı ki, dəyişməz qalacaq.

Nümunəyə baxın:

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' && 'siz birinci bəndi seçdiniz'}
      {value === '2' && 'siz ikinci bəndi seçdiniz'}
      {value === '3' && 'siz üçüncü bəndi seçdiniz'}
    </p>
  </div>;
}

İndi, əgər biz option teqlərinin mətnlərini dəyişsək, skriptin işi pozulmayacaq - çünki o value atributunun dəyərinə bağlıdır.

Задание 1

Açılan siyahıdan istifadə edərək istifadəçidən hansı yaş qrupuna aid olduğunu seçməsini təklif edin: 0-dan 12 yaşadək, 13-dan 17-yə qədər, 18-dan 25-yə qədər, ya da 25 yaşdan yuxarı.