【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
初学者なので表現ができてるか不安なのですが、
countUp(counter) { this.setState(prevState => { const counters = prevState.counters.map(counter => { return {id: counter.id, count: counter.count, color: counter.color}; }); const pos = counters.map(counter => { return counter.id; }).indexOf(counter.id); counters[pos].count++; return { counters: counters }; }); }
以上のコード内のsetStateメソッドの引数のアロー関数において「 const counters = prevState.counters.map(counter =>以下省略」というように、 ローカル定数countersを定義して prevState.counterをコピーする理由がわかりません。
例えば以下のコードのように、
countUp(counter) { this.setState(prevState => { const pos = prevState.counters.map(counter =>{ return counter.id }).indexOf(counter.id); prevState.counters[pos].count++; return { counters: prevState.counters }; }); }
ローカル定数countersを定義をせず、かわりに直接prevState.countersを使用をした場合でもアプリケーションは問題なく動作しました。
ローカル定数countersを定義して prevState.counterをコピーする、 しないとでは差があるのでしょうか?
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
初学者なので表現ができてるか不安なのですが、
以上のコード内のsetStateメソッドの引数のアロー関数において「 const counters = prevState.counters.map(counter =>以下省略」というように、
ローカル定数countersを定義して prevState.counterをコピーする理由がわかりません。
例えば以下のコードのように、
ローカル定数countersを定義をせず、かわりに直接prevState.countersを使用をした場合でもアプリケーションは問題なく動作しました。
ローカル定数countersを定義して prevState.counterをコピーする、
しないとでは差があるのでしょうか?