1
setState
を使用して配列内の2つのオブジェクトを交換する、きれいで適切な方法があるかどうか自分に尋ねました。これは私が現在行っていることです:配列内の2つのオブジェクトを交換する:ReactJS
export function moveStepUp(index) {
if(index > 0){
let currentStep = this.state.stepsData[index];
let stepAbove = this.state.stepsData[index - 1];
this.setState((prevState) => ({
stepsData: prevState.stepsData.map((step, i) => {
if(i === index - 1)
return {
...currentStep,
position: i
};
if(i === index)
return {
...stepAbove,
position: i
};
return step;
})
}),() => console.log(this.state.stepsData));
}
}
このコードは動作していますが、より良い解決策があると思いました。このような単純な作業のために、あまりにも多くのコード行のように思えます。ありがとう!
ありがとうございます!私はちょうど 'setState'でスムーズなオプションがあるかどうかを見たいと思っていました。しかし、これはもっときれいに見えます! – Nocebo
これは役に立ちました:1つの提案は常に計算を最初に実行してから、setState内にロジックを置くのではなく、setStateを使って状態値を更新しようとします。 –