私はこのコンポーネントの状態である 'データ'配列の特定のポイントにオブジェクトを追加しようとしています。以下は機能しません、配列は単に空になります。特定のインデックスでオブジェクトを配列に挿入する
addNewBulletAfterActive =() => {
const array = this.state.data;
const newBulletPoint = {
id: this.state.data.length += 1,
title: 'Click to add'
};
const newData = array.splice(this.state.activeBulletPointId, 0, newBulletPoint);
this.setState({
data: newData
});
}
アイデアは、私が10箇条書きのリストを持っている場合、ユーザは、第四の箇条書きをクリックすると、プレスが直接後の新しい箇条書きを追加するために入力することです。配列の最後に項目を追加する際に問題はありませんでしたが、.spliceが問題を引き起こしているようです。
一般的に悪い練習であるスプライスは状態を変えます。 – Valentin
@Valentinスプライスの前にスライスを追加しました:) –
これは、OPのコードがうまくいかなかった理由を説明する唯一の答えです。 –