TypeError: info is not iterable
Есть некая функция и к ней привязана кнопка, при нажатии на которую добавляются инпуты. При нажатии кнопки выводится такая ошибка:
Код
const CreateDevice = ({show, onHide}) => {
const {device} = useContext(Context);
const {info, setInfo} = useState([]);
const addInfo = () => {
setInfo([...info, {title: '', description: '', number: Date.now()}]);
};
return (
<Modal
show={show}
onHide={onHide}
size="lg"
centered
className="dark-modal"
>
<Modal.Header closeButton>
<Modal.Title id="contained-modal-title-vcenter" className="title-modal">
Добавить устройство
</Modal.Title>
</Modal.Header>
<Modal.Body>
<Form>
<Dropdown className="dropDown mb-2">
<Dropdown.Toggle>Выберите тип</Dropdown.Toggle>
<Dropdown.Menu>
{device.types.map(type =>
<Dropdown.Item key={type.id}>{type.name}</Dropdown.Item>
)}
</Dropdown.Menu>
</Dropdown>
<Dropdown className="dropDown mb-2">
<Dropdown.Toggle>Выберите бренд</Dropdown.Toggle>
<Dropdown.Menu>
{device.brands.map(brand =>
<Dropdown.Item key={brand.id}>{brand.name}</Dropdown.Item>
)}
</Dropdown.Menu>
</Dropdown>
<Form.Control placeholder="Введите название устройства" className="mb-2 form-input"></Form.Control>
<Form.Control placeholder="Введите стоимость устройства" className="mb-2 form-input" type="number"></Form.Control>
<Form.Control className="mb-2" type="file"></Form.Control>
<hr/>
<Button variant="outline-light button-add" onClick={addInfo}>Добавить свойство +</Button>
{info && info.map.keys(i =>
<Row>
<Col md={4}>
<Form.Control
placeholder="Введите название свойства"
/>
</Col>
<Col md={4}>
<Form.Control
placeholder="Введите описание свойства"
/>
</Col>
<Col md={4}>
<Button variant={"outline-danger"}>Удалить</Button>
</Col>
</Row>
)}
</Form>
</Modal.Body>
<Modal.Footer>
<Button variant="outline-danger" onClick={onHide}>Закрыть</Button>
<Button variant="outline-success" onClick={onHide}>Добавить</Button>
</Modal.Footer>
</Modal>
);
};
Как можно пофиксить это?
Источник: Stack Overflow на русском