REACTのCRUDに使用するJavascriptイテレータ

Reactから始めて、stateを使用して更新された情報でページを(更新せずに)再レンダリングするために必要な配列イテレーターまたはメソッドがわからない場合は、このガイドは、特定のCRUDアクションごとにどれを使用するかを理解するのに役立ちます。

まず、何を達成しようとしているのかを理解する必要があります。この例では、すべての株式をページにレンダリングし、ポートフォリオに株式を追加および削除し、株式をアルファベット順または価格で並べ替え、最後に種類に基づいて株式をフィルタリングできるようにすることのみを求められています。別のプロジェクトにジャンプして、削除と更新を示します。株式には名前、価格、タイプ、ID、およびティッカーがあることに注意してください

次に、外部APIからデータを取得します。これは、APIからデータをフェッチするだけの簡単な方法の1つです。この例では、クラスコンポーネントと設定状態を使用しています。私たちがやりたいのは、外部APIから株を取得することだけなので、フェッチしてから状態を設定する必要があります。元の株の配列を調整せずに後でフィルタリングして並べ替えることができるように、株とdisplayStocksキーを使用しています。

第三に、ポートフォリオに株式を追加したり、ポートフォリオから株式を削除したりする方法を理解したいと思います。これらの機能にアクセスする方法があることを確認してください。これらの関数を株式とポートフォリオのコンテナーに渡すことを選択し、各株式を含むdivにonClickを追加しました。クリックすると、これらの関数が実行されます。したがって、ポートフォリオに株式を追加するには、setStateを使用してポートフォリオを更新します。基本的に、ポートフォリオに株式がまだ含まれていないことを確認する3値条件を設定しました(したがって、ポートフォリオに同じ株式の重複がないようにします)。株式がすでにポートフォリオにある場合は、ポートフォリオを以前と同じポートフォリオに設定しますが、そうでない場合は、スプレッド演算子を使用してポートフォリオに株式を追加します。

ポートフォリオから株式を削除するために、ポートフォリオの状態を再度設定します。今回は、既存のポートフォリオをフィルタリングし、削除しようとしている株式と一致しない株式のみを渡します。これにより、削除するために選択した株と等しくないすべての株を含む配列が返されます。

次に、株式をアルファベット順または価格で並べ替える方法を学習します。再度、必要な場所でこれらの関数にアクセスできることを確認してください。そうすれば、関数が選択されたときにそれらを呼び出すことができます。アルファベット順の並べ替え(略してalphaSort)の場合、displayStocksの状態を設定します。 displayStocksを、名前で並べ替えられたすべての株に設定する必要があります。アルファベット順に並べ替えるには、sortメソッドを使用します。株はオブジェクトの配列であるため、それを機能させるには少し注意が必要です。引数として2つの株式を使用し、基本的に最初の株式名が2番目の株式名よりも大きいかどうかをチェックする3値条件を実行します。インデックス値が1つ低くなります。ソートは、アイテムを文字列に変更し、UTF-16値に基づいて比較することでアイテムをチェックするため、興味深い方法です(下部のリンク)。

数値による並べ替えは少し理解しやすいです。priceSortを実行するには、並べ替えが少し異なることを除いて、関数をまったく同じ方法で設定します。私たちのソートでは、価格に基づいて株価を上昇させたい場合(最低から最高)、stock1.price — stock2.priceを取得します。これを下降させたい場合は、stock2.priceを取得してstock1を減算します。それからの価格(stock2.price — stock1.price)

次に、タイプによる株式のフィルタリングを見てみましょう。ここでも、displayStocksの状態を設定しています。すべての株に行きますが、選択したタイプに一致するようにフィルタリングされます。stock.typeが選択したタイプと等しい場合、一致しない場合は配列に残り、配列には保持されません。

オブジェクトの更新と削除に基づいてDOMを再レンダリングする方法を確認できるように、別のプロジェクトに切り替えます。これらの2つの例では、おもちゃにいいねを追加し、おもちゃを削除しています。これらは両方とも永続化され、更新なしでページに再レンダリングされます。おもちゃには名前、画像、いいね、IDがあることに注意してください。

オブジェクトを更新し、更新されたオブジェクトを更新せずにページに再レンダリングするには、setStateを実行し、おもちゃをマッピングします。toys配列内のすべてのobject(toy)に対して、オブジェクトIDが更新されたtoysidと等しいかどうかをチェックする3値条件を実行します。IDが等しい場合、オブジェクトは更新されたおもちゃに置き換えられます。

最後に、オブジェクトを削除してページから削除する方法について説明します。ここで驚くことではありませんが、おもちゃの状態を設定し、すべてのおもちゃをフィルタリングします。toys配列内のすべてのおもちゃについて、IDが削除しようとしているおもちゃIDと等しくないかどうかを確認しています。削除されたおもちゃのIDと等しくないIDを持つおもちゃのみが配列内に保持されます。

ソート方法をよりよく理解するためのリンク:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort

提案された投稿

ドメイン名に関する情報の検索

Brian P. Hogan 著『Small, Sharp Software Tools』からの抜粋

ドメイン名に関する情報の検索

facebook.com にリクエストを送信すると、コンピュータはドメイン名を検索してそのドメイン名を IP アドレスに変換し、コンピュータが接続できるようにします。

脳卒中の壊滅的な結果を避ける: 家族の旅から学ぶ 。

脳卒中の壊滅的な結果を避ける: 家族の旅から学ぶ 。

はじめに 脳卒中は、いつでも誰でも起こり得る医療上の緊急事態です。これは、脳の一部への血流が中断され、脳機能が突然失われることで発生します。

関連記事

危険な会話

危険な会話

私たちがこの地球上で繁栄し続けたいのであれば、危険な会話をしなければなりません。私たちがこれまでやってきたこと、現在行っていること、そして現在継続して行う予定の(または計画している)ことに挑戦するものです。

キリスト教徒の迫害: 私たちが語らないヘイトクライム

イスラム嫌悪のことは忘れてください。宗教的憎悪犯罪の主な犠牲者はキリスト教徒(そしてユダヤ人)です。

キリスト教徒の迫害: 私たちが語らないヘイトクライム

理性的な人なら誰でも、政界とメディア界が左派、さらには極左によって支配されており、政治的言説に不均衡を生み出している状況を知っています。宗教の分野では、この不均衡は明らかです。左翼の新聞やネットワークは急いでキリスト教の信仰を擁護していません。

Goodreads の読書チャレンジは有毒です

Goodreads の読書チャレンジは有毒です

地元の書店ともう一冊の本を求めて交渉していると、手のかゆみが広がった。この本は、最近購入した残りの本と同様に、私の「読みたい本」(TBR)の山の中でその王座を見つけることになります。それでも、買ってしまいました。

ネットワークテレビツイッター

ネットワークテレビツイッター

古いものは再び新しくなり、以前はキラキラ輝いていたものがくすんで見えます。私は、JNCO ジーンズが 1990 年代後半の他のファッションとともにダウンタウンのクールな子供たちの間で復活したことについて話しているのではありません。