「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Props と状態 React.JS

Props と状態 React.JS

2024 年 11 月 8 日に公開
ブラウズ:193

Props and State React.JS

もちろん! React の props と state をさらに深く掘り下げて、それらの役割と違いを調べ、より詳細な例を示しましょう。

小道具 (プロパティ)

1.定義: Props はプロパティの略です。これらは、あるコンポーネントから別のコンポーネント、通常は親コンポーネントから子コンポーネントにデータを渡す方法です。

2.特徴:

Read-Only: 一度設定すると、子コンポーネントはその props を変更できなくなります。これらは子コンポーネント内では不変です。
構成に使用: 小道具を使用すると、コンポーネントの動作と外観をカスタマイズできます。
データのフロー: プロップにより、コンポーネント階層の下にデータと関数が流れることが可能になり、再利用性が促進されます。
3.使用法: 文字列、数値、オブジェクト、配列、関数など、あらゆるタイプのデータを props 経由で渡すことができます。

小道具の例:

// ParentComponent.js
function ParentComponent() {
  const message = "Hello, Child!";

  return ;
}

// ChildComponent.js
function ChildComponent(props) {
  return 

{props.greeting}

; }

この例では:

  • ParentComponent は文字列「Hello, Child!」を渡します。 greeting.
  • というプロパティを介して ChildComponent に送信します。
  • ChildComponent はこの prop を受け取り、

    タグ内に表示します。

1.定義: State は、コンポーネントの現在の状態に関する情報を保持する組み込み React オブジェクトです。 props とは異なり、状態はコンポーネント自体の中で管理されます。

2.特徴:

Mutable: 状態は、setState (クラス コンポーネントの場合) または useState フック (機能コンポーネントの場合) などの関数を使用して変更できます。
Local to Component: 状態は、それが定義されているコンポーネントに固有であり、リフトアップしない限り他のコンポーネントからアクセスできません。
反応性: 状態の変化によりコンポーネントの再レンダリングがトリガーされ、UI での動的な更新が可能になります。
3.使用法: 状態は一般に、ユーザー入力の管理、コンポーネントのステータスの追跡、およびユーザー操作への応答に使用されます。

状態の例:

import React, { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  return (
    

Count: {count}

); }

この例では:

  • Counter コンポーネントは、0 に初期化された count と呼ばれる独自の状態を維持します。
  • ボタンをクリックすると、setCount 関数によってカウントの状態が更新され、コンポーネントが再レンダリングされて新しいカウントが表示されます。

まとめ

  • Props はコンポーネント ツリーにデータを渡すためのもので、読み取り専用です。これらは、カスタマイズ可能な再利用可能なコンポーネントの作成に役立ちます。
  • State はコンポーネントの内部状態を管理するためのもので、更新することで動的な動作やレンダリングを行うことができます。

プロパティと状態の区別を理解することは、効果的で組織化された React アプリケーションを構築するために不可欠です。さらに質問がある場合、または詳細な説明が必要な場合は、お気軽にお問い合わせください。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/imyusufakhtar/props-and-state-reactjs-3fob?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3