ホームページ ウェブフロントエンド jsチュートリアル Reactでパラメータを渡すにはどのような方法がありますか?

Reactでパラメータを渡すにはどのような方法がありますか?

Feb 02, 2021 am 11:41 AM
react パラメータ

Reactでパラメータを渡すにはどのような方法がありますか?

React は、ユーザー インターフェイスを構築するための JAVASCRIPT ライブラリです。

React は主に UI の構築に使用されますが、React を MVC の V (ビュー) だと思っている人も多いと思います。

React は、Instagram Web サイトを構築するための Facebook の内部プロジェクトとして誕生し、2013 年 5 月にオープンソース化されました。

React は高いパフォーマンスと非常にシンプルなコードロジックを備えているため、ますます多くの人が注目し、使用し始めています。

#最も一般的なのは、親コンポーネントと子コンポーネントの間でパラメーターを渡すことです

#親コンポーネントは子コンポーネントに値を渡します。これは this.props を使用することで直接実現できます

親コンポーネントで、必要なデータを渡すサブコンポーネントにカスタム属性を追加します。親コンポーネントから渡されたデータは、サブコンポーネントの this.props を通じて取得できます。

// 父组件 render() {        
    return (                // 使用自定义属性传递需要传递的方法或者参数
                <ShopUi toson={this.state}></ShopUi>            
                   )
    } 

//子组件 //通过this.props.toson就可以获取到父组件传递过来的数据 、、如果还需要往孙组件传递那么在子组件通过自定义属性继续传递就行了
      tograndson={this.props.toson}
、、孙组件通过this.props.tograndson获取到数据
ログイン後にコピー

サブコンポーネントが渡された場合親コンポーネントに値を渡すには、親コンポーネントに設定する必要がある 関数と状態を受け取り、その関数名を props を通じてサブコンポーネントに渡す

#つまり、親コンポーネントを子コンポーネントに渡す方法サブコンポーネントを作成し、サブコンポーネント内でそれを呼び出します

//孙子组件export default class Grandson extends Component{
    render(){        return (            <div style={{border: "1px solid red",margin: "10px"}}>
        {this.props.name}:                <select onChange={this.props.handleSelect}>
                    <option value="男">男</option>
                    <option value="女">女</option>
                </select>
            </div>        )
    }
}; 
//子组件export default class Child extends Component{
    render(){        return (            <div style={{border: "1px solid green",margin: "10px"}}>
                {this.props.name}:<input onChange={this.props.handleVal}/>
                <Grandson name="性别" handleSelect={this.props.handleSelect}/>
            </div>        )
    }
}; 
//父组件export default class Parent extends Component{
 
    constructor(props){
        super(props)        this.state={
            username: &#39;&#39;,
            sex: &#39;&#39;
        }   
    },
    handleVal(event){        this.setState({username: event.target.value});
    },
    handleSelect(value) {        this.setState({sex: event.target.value});
    },
    render(){        return (            <div style={{border: "1px solid #000",padding: "10px"}}>
                <div>用户姓名:{this.state.username}</div>
                <div>用户性别:{this.state.sex}</div>
                <Child name="姓名" handleVal={this.handleVal} handleSelect={this.handleSelect}/>
            </div>        )
    }
}
ログイン後にコピー

少し前に誰かが質問したのですが、コンストラクターの super() は何に使用されますか?

要約:

これをサブクラスのコンストラクターで使用したい場合は、親クラスのコンストラクターを呼び出す必要があります。そうしないと、これを取得できません。

Then親クラスのコンストラクターをどのように呼び出すかという問題が発生します。 super() を通じて

#親コンポーネントによって渡されたパラメーターをコンストラクターで使用したい場合は、super を呼び出すときにパラメーターを親コンポーネントのコンストラクターに渡す必要があります。

そうしない場合は、これをコンストラクターまたはパラメーターで使用します。スーパーは必要ありません。React がこれを行ってくれるので、props のバインディング

ルーティング パラメーター

npm install reverse-router-dom をインストールします。 --save-dev

ルートを定義します (通常は外部に配置されます)

 <HashRouter> 
    <Switch> 
        <Route exact path="/" component={Home}/> 
        <Route exact path="/detail" component={Detail}/> 
    </Switch> 
</HashRouter>
ログイン後にコピー

ページがジャンプするとき

<li  onClick={el => this.props.history.push({
   pathname:&#39;/detail&#39;,
      state:{id:3}
})}>
</li>
ログイン後にコピー

this.props.history.location を通じて渡されたデータを受信します

ルーティング パラメーターにこの問題が発生する可能性があります。つまり、ルートの定義時にマウントされたコンポーネントのみが props の位置履歴の一致を持ちます。

## ルートにマウントされるコンポーネントは通常、コンテナーです。 js. 通常、UI.js コンポーネントを分離し、クリックしてここにジャンプします。UI コンポーネントの props にロケーション履歴の一致はありません。

Router で上位のコンポーネントを使用する必要があります

状態のプロモーション

複数のコンポーネントが共有する必要がある状態を、それらに最も近いパブリック親コンポーネントにプロモートし、親コンポーネントがそれを props

context## を通じて子コンポーネントに配布します。

#コンポーネントが特定の状態を独自のコンテキストに保存すると、そのコンポーネントの下にあるすべての子孫コンポーネントは中間コンポーネントの転送を必要とせずにこの状態にアクセスできますが、このコンポーネントの親コンポーネントはその状態にアクセスできません。
class Index extends Component {
  static childContextTypes = {
    themeColor: PropTypes.string
  }

  constructor () {
    super()
    this.state = { themeColor: &#39;red&#39; }
  }

  getChildContext () {
    return { themeColor: this.state.themeColor }
  }

  render () {
    return (
      <div>
        <Header />
        <Main />
      </div>
    )
  }
}
通过getChildContext()将属性传递给所有的子孙组件
提供 context 的组件必须提供 childContextTypes 作为 context 的声明和验证。
ログイン後にコピー
class Title extends Component {
  static contextTypes = {
    themeColor: PropTypes.string
  }

  render () {
    return (
      <h1 style={{ color: this.context.themeColor }}>标题</h1>
    )
  }
}
子组件要获取 context 里面的内容的话,就必须写 contextTypes 来声明和验证你需要获取的状态的类型,它也是必写的,如果你不写就无法获取 context 里面的状态。
Title 想获取 themeColor,它是一个字符串,我们就在 contextTypes 里面进行声明。
ログイン後にコピー

redux の紹介

redux は React に予測可能な状態管理メカニズムを提供します

redux はアプリケーションの状態全体をストアに保存し、ストアには状態ツリーが保存されます

コンポーネントは次のことができます。他のコンポーネントに直接通知するのではなく、ストアに動作 (アクション) をディスパッチ (ディスパッチ)

#他のコンポーネントは、ストア内の状態をサブスクライブすることで独自のビューを更新できます

関連する推奨事項:

反応チュートリアル

以上がReactでパラメータを渡すにはどのような方法がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

React と WebSocket を使用してリアルタイム チャット アプリを構築する方法 React と WebSocket を使用してリアルタイム チャット アプリを構築する方法 Sep 26, 2023 pm 07:46 PM

React と WebSocket を使用してリアルタイム チャット アプリケーションを構築する方法 はじめに: インターネットの急速な発展に伴い、リアルタイム コミュニケーションがますます注目を集めています。ライブチャット アプリは、現代の社会生活や仕事生活に不可欠な部分になっています。この記事では、React と WebSocket を使用して簡単なリアルタイム チャット アプリケーションを構築する方法と、具体的なコード例を紹介します。 1. 技術的な準備 リアルタイム チャット アプリケーションの構築を開始する前に、次のテクノロジとツールを準備する必要があります。 React: 構築用の 1 つ

React フロントエンドとバックエンドの分離ガイド: フロントエンドとバックエンドの分離と独立したデプロイメントを実現する方法 React フロントエンドとバックエンドの分離ガイド: フロントエンドとバックエンドの分離と独立したデプロイメントを実現する方法 Sep 28, 2023 am 10:48 AM

React フロントエンドとバックエンドの分離ガイド: フロントエンドとバックエンドの分離と独立したデプロイメントを実現する方法、特定のコード例が必要です 今日の Web 開発環境では、フロントエンドとバックエンドの分離がトレンドになっています。フロントエンド コードとバックエンド コードを分離することで、開発作業がより柔軟かつ効率的になり、チームのコラボレーションが促進されます。この記事では、React を使用してフロントエンドとバックエンドの分離を実現し、それによって分離と独立したデプロイの目標を達成する方法を紹介します。まず、フロントエンドとバックエンドの分離とは何かを理解する必要があります。従来の Web 開発モデルでは、フロントエンドとバックエンドが結合されています。

React と Flask を使用してシンプルで使いやすい Web アプリケーションを構築する方法 React と Flask を使用してシンプルで使いやすい Web アプリケーションを構築する方法 Sep 27, 2023 am 11:09 AM

React と Flask を使用してシンプルで使いやすい Web アプリケーションを構築する方法 はじめに: インターネットの発展に伴い、Web アプリケーションのニーズはますます多様化および複雑化しています。使いやすさとパフォーマンスに対するユーザーの要件を満たすために、最新のテクノロジー スタックを使用してネットワーク アプリケーションを構築することがますます重要になっています。 React と Flask は、フロントエンドおよびバックエンド開発用の 2 つの非常に人気のあるフレームワークであり、うまく連携してシンプルで使いやすい Web アプリケーションを構築します。この記事では、React と Flask を活用する方法について詳しく説明します。

React と RabbitMQ を使用して信頼性の高いメッセージング アプリを構築する方法 React と RabbitMQ を使用して信頼性の高いメッセージング アプリを構築する方法 Sep 28, 2023 pm 08:24 PM

React と RabbitMQ を使用して信頼性の高いメッセージング アプリケーションを構築する方法 はじめに: 最新のアプリケーションは、リアルタイム更新やデータ同期などの機能を実現するために、信頼性の高いメッセージングをサポートする必要があります。 React はユーザー インターフェイスを構築するための人気のある JavaScript ライブラリであり、RabbitMQ は信頼性の高いメッセージング ミドルウェアです。この記事では、React と RabbitMQ を組み合わせて信頼性の高いメッセージング アプリケーションを構築する方法を紹介し、具体的なコード例を示します。 RabbitMQ の概要:

React と Google BigQuery を使用して高速データ分析アプリケーションを構築する方法 React と Google BigQuery を使用して高速データ分析アプリケーションを構築する方法 Sep 26, 2023 pm 06:12 PM

React と Google BigQuery を使用して高速データ分析アプリケーションを構築する方法 はじめに: 今日の情報爆発の時代において、データ分析はさまざまな業界で不可欠なリンクとなっています。中でも、高速かつ効率的なデータ分析アプリケーションを構築することは、多くの企業や個人が追求する目標となっています。この記事では、React と Google BigQuery を使用して高速データ分析アプリケーションを構築する方法を紹介し、詳細なコード例を示します。 1. 概要 React はビルドするためのツールです

React Router ユーザーガイド: フロントエンドルーティング制御の実装方法 React Router ユーザーガイド: フロントエンドルーティング制御の実装方法 Sep 29, 2023 pm 05:45 PM

ReactRouter ユーザーガイド: フロントエンドルーティング制御の実装方法 シングルページアプリケーションの人気に伴い、フロントエンドルーティングは無視できない重要な部分になりました。 React エコシステムで最も人気のあるルーティング ライブラリとして、ReactRouter は豊富な機能と使いやすい API を提供し、フロントエンド ルーティングの実装を非常にシンプルかつ柔軟にします。この記事では、ReactRouter の使用方法と具体的なコード例を紹介します。 ReactRouter を最初にインストールするには、次のものが必要です

React と Docker を使用してフロントエンド アプリケーションをパッケージ化してデプロイする方法 React と Docker を使用してフロントエンド アプリケーションをパッケージ化してデプロイする方法 Sep 26, 2023 pm 03:14 PM

React と Docker を使用してフロントエンド アプリケーションをパッケージ化およびデプロイする方法 フロントエンド アプリケーションのパッケージ化とデプロイは、プロジェクト開発の非常に重要な部分です。最新のフロントエンド フレームワークの急速な発展により、React は多くのフロントエンド開発者にとって最初の選択肢となっています。コンテナ化ソリューションとして、Docker はアプリケーションのデプロイメントプロセスを大幅に簡素化できます。この記事では、React と Docker を使用してフロントエンド アプリケーションをパッケージ化してデプロイする方法を紹介し、具体的なコード例を示します。 1. 準備 始める前に、インストールする必要があります

i9-12900Hパラメータ評価リスト i9-12900Hパラメータ評価リスト Feb 23, 2024 am 09:25 AM

i9-12900H は 14 コア プロセッサです。使用されているアーキテクチャとテクノロジはすべて新しく、スレッドも非常に高速です。全体的な動作は優れており、いくつかのパラメータが改善されています。特に包括的で、ユーザーに優れたエクスペリエンスをもたらします。 。 i9-12900H パラメータ評価レビュー: 1. i9-12900H は、q1 アーキテクチャと 24576kb プロセス テクノロジを採用した 14 コア プロセッサで、20 スレッドにアップグレードされています。 2. 最大 CPU 周波数は 1.80! 5.00 ghz で、主にワークロードによって異なります。 3. 価格と比較すると、非常に適しており、価格性能比が非常に優れており、通常の使用が必要な一部のパートナーに非常に適しています。 i9-12900H のパラメータ評価とパフォーマンスの実行スコア

See all articles