Как вывести данные из объекта React JS
Всем привет, я только учу JS, React. Помогите советом. Есть форма для заполнения данных об авто. Выглядит примерно вот так, данные в carData.json
<select
name='carBrand'
value={selectedBrand}
onChange={handleBrandChange}
className={style.select}
>
<option value='' disabled>
Выберите марку
</option>
{carData.map(car => (
<option key={car.id} value={car.id}>
{car.name}
</option>
))}
</select>
{selectedBrand && (
<select
name='carModel'
value={selectedModel}
onChange={handleModelChange}
className={style.select}
>
<option value='' disabled>
Выберите модель:
</option>
{carData
.find((car) => car.id === selectedBrand)
.models.map((model) => (
<option key={model.id} value={model.id}>
{model.name}
</option>
))}
</select>
Можно ли написать такой же select, что бы в option был выбор года от начального до конечного ( 1998, 1999, 2000, 2001 ..., 2009). Объект выглядит так :
{
"id": "BENTLEY",
"name": "Bentley",
"models": [
{
"id": "BENTLEY_ARNAGE",
"name": "Arnage",
"cyrillic-name": "арнаж",
"class": "F",
"yearFrom": 1998,
"yearTo": 2009
},
]
}
Ответы (1 шт):
Автор решения: Oliver Patterson
→ Ссылка
Мы можем создать массив нужной нам длины и заполнить его датами. Дальше вы можете выполнить map по этому массиву и создать option
const carData = {
"yearFrom": 1998,
"yearTo": 2009
};
const years = Array.from(
{length: carData.yearTo - carData.yearFrom + 1},
(_, index) => carData.yearFrom + index
);
console.info(years);