0
反応し、私はこれら二つのオプションのレンダリング動作に関する質問を持っています。ただし、オプション2のみがページを再レンダリングします。オプション1を指定しても、表現型が変更されることはありません。 その理由は何ですか?ありがとう!がSETSTATEレンダリング動作
反応し、私はこれら二つのオプションのレンダリング動作に関する質問を持っています。ただし、オプション2のみがページを再レンダリングします。オプション1を指定しても、表現型が変更されることはありません。 その理由は何ですか?ありがとう!がSETSTATEレンダリング動作
この行stepsData[stepIndex][targetArray] = newArray;
は、新しいものを作成する代わりにstepsData[stepIndex]
オブジェクトを変異させます。
それは
stepsData[stepIndex] = {
...stepsData[stepIndex],
[targetArray]: newArray
}
ようにあなたは、マップ関数の内部でやったのと同じ方法でなければなりません。
ありがとう、男! – Nocebo
私は要素をスプライスしたい場合、私は同じことをするだろうか? 'stepsDataは[stepIndex] .contentComponents = { ... stepsData [stepIndex]、 contentComponents:stepsDataは[stepIndex] .contentComponents.splice(I、1) };' – Nocebo
@Noceboはsplice' '忘れ。元の配列を変更し、スプライスされた要素を返します。代わりに 'filter'を使用してください。 –