Javascriptステータス

| | | | | | | | |

ReactJavaScriptライブラリのStateについて聞いたことがありますが、その使用方法がわかりませんか?状態とは、「すべてのオブジェクトがWebページに表示される方法」を指します。 「概念は単純です。これは、コンポーネントの現在の状態に関するデータのコレクションであり、記述されたデータを変更することで変更できます。データが変更されるたびに、コンピューター画面に再度表示されます。状態の最も難しい部分はいつどのように使用するかを知っています。ただし、このチュートリアルでは状態の使用方法について説明しているので心配しないでください。

概要を簡単に説明するために、this.stateを使用して初期状態を設定します。 JavaScriptコンストラクターの。状態を更新するには、setStateメソッドを使用します。このチュートリアルでは、状態と状態の使用方法について詳しく説明します。

React State?

React stateは、コンポーネントに指定された一連のプロパティを持つオブジェクトであり、これはコンポーネントのレンダリング方法に役立ちます。 stateを持つコンポーネントはステートフルと呼ばれます。通常、コンポーネントがメーカー間でそれに関する情報を追跡する必要がある場合に使用します。

例としては、数値を追跡する必要がある「いいね」ボタンコンポーネントがあります。クリックする回数。これは、ボタンが押されるたびに、更新されたいいねの数を表示するかのように画面に再表示されます。そのためには、コーディングした情報を何度も繰り返すのではなく、ボタンのようなコンポーネントが情報に従うようにする必要があります。結局のところ、これらの人々を見逃したくないのです。

コンポーネントの状態データには、 this.state を介してアクセスし、.setState<を使用して編集できます。 /code>メソッド。状態は、状態を含むコンポーネントによって変更できないため、プライベートです

多くの人は、状態をアクセサリと混同します。これは、反応のもう1つのオブジェクトですが、重要な2つの違い。その1つは、状態が動的であるということです。つまり、状態に含まれるデータが変更され、コンポーネントの動作に影響を与える可能性があります。一方、小道具は不変です。つまり、「ビルド後に状態を変更することはできません。」

React状態の構文

状態は、コンストラクターという名前の関数で最初に定義されます。状態が変わる可能性があるため、現在の初期値があることを確認します。ステータスを設定する一般的な形式は次のとおりです。

たとえば、タイマーコンポーネントを作成する場合は、開始状態を this.state = {0} seconds:に設定する必要があります。タイマーは毎秒状態を変更しますが、カウントを開始する必要があります。どこかにコーディングするコンポーネントは「this」と呼ばれます。このステートメントは、属性の1つ(「seconds」)を選択した値(この場合は「0」)と等しくなるように設定することにより、コンポーネントの状態を変更します。セット。

サンプルの「person」レコードという名前のコンポーネントがあります。コンポーネントの状態オブジェクトに、名前、職業、髪の毛、年齢の4つの値を追加します。

//基本的なReactステートメントのインポート

//コンストラクターで定義された状態のプロパティを持つ、「Person」という名前のコンポーネント:

//画面に表示される内容を定義するレンダリング関数:

person

); }} ReactDOM.render(、document.getElementById(`root`));

最後の行は、コードがHTMLドキュメントを調べて、IDが「root」の要素を探し、renderで指示されたとおりに実行することを示しています。上記の()メソッド。これが、index.htmlファイルのドキュメント本文に次のものを追加する必要がある理由です。

このHTMLタグには、「root」にID属性全体があります。これは、コンポーネントにレンダリングを要求したすべての場所です。

this.state.attributeName と入力すると、状態オブジェクトを参照できます。これにより、「attributename」が定義済みの属性に置き換えられます。

これは、前に定義したプロパティを使用して「Person」コンポーネントの状態を作成する例です。 {} this.state.attributeの形式を使用して、コードを記述しているコンポーネントの属性値を呼び出します。

この場合、次のメソッドを「person」コンポーネントにコピーします。これは「それ」が指すものです。画面には、書き込んだ属性に属する値が表示されます。最後の例の「Person」コンポーネントのrender()宣言を次のように置き換えます。

{this.state.name}

{{this.state.name}はthat.state.occupation}であり、{} this.state.age years現在、彼女の髪の毛は{this.state.hair}

)..}

画面には、 「名前」属性、これはトム・ヒドルストンです。以下に、「トム・ヒドルストンは俳優であり、彼は40歳です」という段落になります。彼女の髪は黒い。 "

.setState()は this.setState()を使用して、ステータスオブジェクトの値を更新します。このメソッドは1つの引数を取ります。新しい属性とその値である: {attribute:"newvalue"}。メソッドはこれを行うために使用されます。これは、Reactが舞台裏でrenderメソッドを呼び出して、新しいコンテンツが常に表示されるようにするためです。< / p>

これは、以前の「person」コンポーネントを使用した例です。記事の冒頭で見た「person」コードコンポーネントに次のコードを追加します。

  1. 追加bodyクラスの「person」に対する職業変更関数。この関数は.setStateメソッドを呼び出します。ここに記述されている属性はoccupancy属性であり、変更する値を記述します。リマインダー「person」 "そのジョブが現在
    job =()=> {this.setState({occupation" model "});}"actor"であるコンポーネントコード。
  2. 次のキーコードを.render()メインメソッド a>

    複数の.setState()は順番に処理されないため、これが表示される場合がありますこれらの詳細-競合に注意する必要があります。これは、コードが処理されているため重要です。大きく、より多くの行とより多くのReactの記述状態があるため、それらがどのように連携するかを考える必要があります。これは、特にReactが本質的に非同期であり、誰がsetstateメソッドを制御しているのかを予測できない場合は難しい場合があります。

    状態を使用する必要がありますか?

    答えは簡単です:いいえ、使用しないでください。コンポーネントには主に2つのタイプがあります。Reactコンポーネントの機能とクラスです。コンポーネント。ステートレスコンポーネントは機能コンポーネントです。誤ってコンポーネントに状態がありませんでした。自分で作成する必要があります

    ステートレスですが、アプリケーションはあまりインタラクティブではありません。設定を選択した場合でも状態の作業、それを使用することに熱心にならないことをお勧めします。これは、コンポーネントでの状態の過度の使用が可能であるためです。複雑さのために、起こりうる競合を予測するのが難しくなります。

    結論

    Reactを使用する際に留意すべき2つの重要なオブジェクトは、StateとPropsです。 Stateは、状態を定義する更新されたデータに基づいてコンポーネントが変化するときに、コンポーネントの現在の状態を追跡します。一方、アクセサリーは変わりません。使用する簡単な経験則は、「このコンポーネントの属性はいつでも変更されますか?」と尋ねることです。 "。答えが"yes"の場合、小道具は不変であるため、ステータスカテゴリを使用します。

    ReactJavaScript ES6、方向関数、クラス、変数のタイプなどの関数のReactVERSATILEのように。さらに、最近のリリース日のReactでクラスを作成しなくても、状態やその他の関数に関係するReactの使用に変更が加えられました。リアクションフック

    Shop

    Learn programming in R: courses

    $

    Best Python online courses for 2022

    $

    Best laptop for Fortnite

    $

    Best laptop for Excel

    $

    Best laptop for Solidworks

    $

    Best laptop for Roblox

    $

    Best computer for crypto mining

    $

    Best laptop for Sims 4

    $

    Latest questions

    NUMPYNUMPY

    psycopg2: insert multiple rows with one query

    12 answers

    NUMPYNUMPY

    How to convert Nonetype to int or string?

    12 answers

    NUMPYNUMPY

    How to specify multiple return types using type-hints

    12 answers

    NUMPYNUMPY

    Javascript Error: IPython is not defined in JupyterLab

    12 answers


    Wiki

    Python OpenCV | cv2.putText () method

    numpy.arctan2 () in Python

    Python | os.path.realpath () method

    Python OpenCV | cv2.circle () method

    Python OpenCV cv2.cvtColor () method

    Python - Move item to the end of the list

    time.perf_counter () function in Python

    Check if one list is a subset of another in Python

    Python os.path.join () method