Вставить айтемы в промежуток массива по клику React

constructor(props) {
    super(props);
    this.state = {
      settings: [],
    };

    this.addSetting = this.addSetting.bind(this);
    this.removeSetting = this.removeSetting.bind(this);
  }

addSetting() {
    const { settings } = this.state;
    this.setState({
      settings: [
        <div className={styles.filterItem}>
            <div className={styles.input}>
              <input type="text" placeholder="Type the text" onChange={this.onInputChange} />
            </div>
            <div className={styles.buttons}>
              <button onClick={this.addSetting}>+</button>
              <button onClick={this.removeSetting}>-</button>
            </div>
          </div>,
        ...settings
    ]
    });
  }

  removeSetting(el) {
    el.preventDefault();
    const { settings } = this.state;
    settings.splice(el, 1);
    this.setState({
      settings: settings,
    });
  }
render() {
    const { settings } = this.state;

    return (
      <div className={styles.block}>
      <button type='button' onClick={this.applySettings}>Apply</button>
        <div className={styles.filterList}>
          <div className={styles.filterItem}>
            <div className={styles.input}>
              <input type="text" placeholder="Type the text" onChange={this.onInputChange} />
            </div>
            <div className={styles.buttons}>
              <button type='button' onClick={this.addSetting}>+</button>
              <button type='button' onClick={this.removeSetting}>-</button>
            </div>
          </div>
          {settings}
        </div>
      </div>
    );
  }

Подскажите пожалуйста, как можно реализовать добавление и удаление новых сеттингов в промежутке, а не в конце списка? Сейчас реализовано по нажатию на + добавление сеттингов в конец списка. А надо чтобы, например, при нажатии на + у сеттинга test1, под ним добавилось новое пустое поле. введите сюда описание изображения


Ответы (0 шт):