Reactjs(Typescript) — объединить массив в поле выбора

#reactjs

#reactjs

Вопрос:

Я делаю запрос, который возвращает массив api, однако при выполнении map результаты не объединяются только в один select, дублируя поля формы.

 const [systems, setSystems] = useState<SystemProps[]&&t;([]);
useEffect(() =&&t; {
api.&et(`/systems?amp;order=description`).then((response) =&&t; {
setSystems(response.data.data);
});
}, []);

return (
<div className="col-sm-4"&&t;
<label&&t;Sistema</label&&t;
{systems.map(system =&&t; (
<SelectForm
key="id"
name="system_id"
id="system_id"
placeholder="Selecione"
options={[{ value: system.id, label: system.description }]}
/&&t;
))}
</div&&t;
  

посмотрите на дублирующийся выбор

Комментарии:

1. Я голосую за закрытие этого вопроса, потому что он не на английском. Пожалуйста, посетите pt.stackoverflow.com

2. Извините, я скорректировал вопрос

3. Пожалуйста, отредактируйте также заголовок.

Ответ №1:

Я полагаю, это то, что вы ищете:

 <label&&t;Sistema</label&&t;
<SelectForm
key="id"
name="system_id"
id="system_id"
placeholder="Selecione"
options={ systems.map(system =&&t; ({value: system.id, label: system.description })) }
/&&t;
  

Требуется map для параметров, а не для всей формы.

Комментарии:

1. Именно так, @jdaz, большое вам спасибо за вашу помощь.