@way_t

Как добавлять неограниченное количество элементов в React?

Необходимо по клику на кнопку добавлять какой-то html. Допустим, нажали -- появился новый инпут. Ещё нажали -- ещё появился и т.д.

Как это можно реализовать на чистом React + ES6?
  • Вопрос задан
  • 210 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега React
Изменять state компонента по клику на кнопку.

#какойвопростакойиответ
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
sinneren
@sinneren
Создать какой-нибудь компонент инпута const input =
Создать список инпутов let list_inputs = [];
При клике мы добавляем input в list_inputs: list_inputs.push(input).
Абстрактно так.
Ответ написан
Комментировать
@s-jet
Что-то тип того

constructor(props) {
        super(props);
        this.state = {
          data: []
        };
};
renderInput () {
   return this.state.data.map(item => {
       return <div>
           <input type="text" value={item}/>
       </div>
   })
}

addInput () {
   let data = this.state.data;
   data.push('Новый инпут');
   this.setState({ data: data });
}

render() {
   return (<div>
       <button onClick={this.addInput.bind(this)}>Добавить</button>
       {this.renderInput()}
    </div>
    )
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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