vanyahuk
@vanyahuk

Как сделать клон компонента при нажатии на кнопку?

Как сделать клон компонента при нажатии на кнопку как в
примере
5afd20b439351435907474.png
  • Вопрос задан
  • 113 просмотров
Решения вопроса 2
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Компоненты должны рисоваться в цикле ( map'ом или forEach'ом ). Данные должны лежать в стейте. При клике на "добавить" - появляется новая запись в state и компонент автоматически дорисовывается.

Псевдо код:
state = {
  modelSelectors: [{obj1}, {obj2}]
}

renderSelectors = () => {
  this.state.model.selectors.map(item => <Select ... />
}

addSelector = () => {
  this.setState({ modelSelectors: +1 элемент в массиве })
}
Ответ написан
Комментировать
@SeaBreeze876
Front-end разработчик
Реакт не про работу с DOM, реакт про отрисовку интерфейса на основе состояния. Стоит подумать какая структура стейта наиболее соответствует задаче (массив объектов) и на ее основе рисовать форму. В 99 случаях из 100 не нужно никакие компоненты никуда клонировать
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 00:55
500 руб./за проект
21 нояб. 2024, в 23:30
300000 руб./за проект
21 нояб. 2024, в 22:21
3000 руб./в час