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

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

Как сделать клон компонента при нажатии на кнопку как в
примере
5afd20b439351435907474.png
  • Вопрос задан
  • 118 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 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 не нужно никакие компоненты никуда клонировать
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽