Задать вопрос
vanyahuk
@vanyahuk

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

Как сделать клон компонента при нажатии на кнопку как в
примере
5afd20b439351435907474.png
  • Вопрос задан
  • 113 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 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 не нужно никакие компоненты никуда клонировать
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы