@sofronov89

Как поместить массив в массив из массивов react js?

как создать массив который представляет собой массив массивов (который можно пополнить элементами и удалять из него элементы как и в дочерних массивах) react js

class Field extends React.Component {   

                constructor(props) {
                    super(props);
                    this.state = {
                        tasks: []
                    };
                };
                addList = (text) => {
                    var arrList = this.state.tasks;
                    arrList.push (text);
                    this.setState ({tasks: arrTask});
                };
                addTask = (text) => {
                    var arrTask = this.state.tasks;
                    arrTask.push (text);
                    this.setState ({tasks: arrTask});
                };
                deleteBlock = (i) => {
                    var arrTask = this.state.tasks;
                    arrTask.splice (i, 1);
                    this.setState ({tasks: arrTask});
                };
                updateText = (text, i) => {
                    var arrTask = this.state.tasks;
                    arrTask[i] = text;
                    this.setState ({tasks: arrTask});
                };
                eachTask = (item, i) => {
                    return (
                        <Task key={i} index={i} update={this.updateText} deleteBlock={this.deleteBlock}>
                            {item}
                        </Task>
                    );
                };
                render() {
                    return (
                        <div>
                                <div className="field">
                                    <h2>Задание</h2>
                                    {this.state.tasks.map (this.eachTask)}
                                    <button onClick={this.addTask.bind (null, 'простое задание')} className="btn new">Новое Задание</button>
                                </div>
                            
                            <button onClick={this.addTask.bind (null, 'простое задание')} className="btn new">Новое     Задание</button>
                        </div>
                    );
                }
            }
  • Вопрос задан
  • 589 просмотров
Пригласить эксперта
Ответы на вопрос 1
string15
@string15
Учусь верстать руками
Так не делайте, вы все равно мутируйте state, ссылаясь на него
var arrList = this.state.tasks;
arrList.push (text);

Так лучше, вы работаете с копией
var arrList = [...this.state.tasks];
arrList.push (text);
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
28 нояб. 2024, в 21:25
5000 руб./за проект
28 нояб. 2024, в 18:46
3000 руб./за проект
28 нояб. 2024, в 17:46
10000 руб./за проект