Value ատրիբուտները React-ի սելեկտում

Ենթադրենք, որ այժմ option թեգերում կան value ատրիբուտներ.

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

Այդպիսի դեպքում, value ատրիբուտների առկայության պատճառով ստեյտ կհայտնվեն հենց դրանց արժեքները, այլ ոչ թե option թեգերի տեքստերը: Կարելի է համոզվել դրանում՝ ընտրության արդյունքը արտածելով պարբերության մեջ.

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}
    </p>
  </div>;
}

option-ի տեքստն ու նրա արժեքը տարանջատելը կարող է հարմար լինել. թեգի տեքստը մենք կարող ենք փոխել կամայականորեն, մինչդեռ մեր սկրիպտում ընտրության արդյունքը կմշակվի ըստ value ատրիբուտի արժեքի, որն էլ կմնա անփոփոխ:

Տեսեք օրինակ.

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' && 'Դուք ընտրել եք առաջին կետը'}
      {value === '2' && 'Դուք ընտրել եք երկրորդ կետը'}
      {value === '3' && 'Դուք ընտրել եք երրորդ կետը'}
    </p>
  </div>;
}

Այժմ, եթե մենք փոխենք option թեգերի տեքստերը, սկրիպտի աշխատանքը չի խախտվի, քանի որ այն կապված է value ատրիբուտի արժեքին:

Задание 1

Օգտագործելով բացվող ցուցակը, առաջարկեք օգտատիրոջը ընտրել, թե տարիքի որ խմբին է պատկանում. 0-ից 12 տարեկան, 13-ից 17, 18-ից 25, կամ 25 տարեկանից բարձր: