Javascript 正在从数组中删除输入,但该输入中的文本将在已删除索引中更新

Javascript 正在从数组中删除输入,但该输入中的文本将在已删除索引中更新,javascript,arrays,reactjs,Javascript,Arrays,Reactjs,我使用此函数单击创建输入 createInputs(e) { // e.preventDefault(); const newInput = `input-${this.state.itemArray.length}`; this.setState({ itemArray: this.state.itemArray.concat([newInput]) }); } 我像这样处理所有输入的变化 handleChangeInput(e) {

我使用此函数单击创建输入

createInputs(e) {
        // e.preventDefault();
        const newInput = `input-${this.state.itemArray.length}`;
        this.setState({ itemArray: this.state.itemArray.concat([newInput]) });

    }
我像这样处理所有输入的变化

handleChangeInput(e) {
        this.setState({userStartedWriting: true})
        const name = e.target.name;

        if (name === 'title') {
            this.setState({ title: e.target.value })
        }

        for (let i = 0; i < 26; i++) {
            if (name === 'input-' + i) {
                let items = [...this.state.inputKeywords];
                let item = { ...items[i] };
                item.value = e.target.value;
                items[i] = item;

                this.setState({ inputKeywords: items });
            }
        }
        console.log(this.state.inputKeywords)
        this.setState({ numberKeywords: this.state.itemArray.length })
    }
handleRemoveClick = item => {
        const list = this.state.itemArray.slice(0);
        const listKeywords = this.state.inputKeywords.slice(0);
        const getInputToRemove = list.indexOf(item)

        if (getInputToRemove > -1){
            console.log(getInputToRemove)
            list.splice(getInputToRemove, 1)
            listKeywords.splice(getInputToRemove, 1)
        }


        console.log(list)
        console.log(listKeywords)

        const removeOneFromArray = this.state.itemArray.length - 1;
        this.setState({ itemArray: list, numberKeywords: removeOneFromArray })
    }
所以。。如果我将console.log中的所有状态和内容都记录下来,那么就可以完美地删除阵列上的内容。但它显示了错误的信息

假设我有3个输入

  • 输入-0(索引0)输入-1(索引1)输入-2(索引2)
如果我单击remove input-0,它将删除input-0并将input-1值更改为input-0值。但是输入0消失了

为什么会这样?我做错了什么

谢谢

编辑:如果我点击最后一个索引(输入),它会像我想要的那样删除