react.js フレームワーク Reduxhttps://github.com/reactjs/redux インストール: npm インストール redux react-redux #Reactをベースに、すでにインストール済み Redux リファレンスドキュメント: Reduxコアコンセプト: ストア単純に言えば、各コンポーネントの 減らす公式によると、redux の基本的な使用法は次のようになります。 「redux」から {createStore} をインポートします。 「./reducers」からtodoAppをインポートします。 store = createStore(todoApp); を作成します。 関数 myFun(状態,アクション){ // ... } もちろん、esmascript 2015 の矢印関数形式を使用して定義することもできます。 実践演習1.まずReduceを定義しましょう インフォリデュース: //テストデータ let info = { title:"テストタイトル", クリック数:0 }; // パラメータ hull default (state = info, action) を通じてデータをエクスポートします =>{ return state; // 返される値はテストデータです} 2. Reduceの準備ができました。Reduxを使い始めましょう 「./../redux/InfoReduce」からInfoReduceをインポートします。 「redux」から {createStore} をインポートします。 store = createStore(InfoReduce); 3. Redux の非常に重要なコンセプト // InfoDetailというコンポーネントを定義します。class InfoDetail extends React.Component{ //コンストラクタ(props) { スーパー(小道具); // 初期状態 this.state = { infoData:store.getState() //ストア オブジェクト メソッドを通じてデータを取得します}; } 与える(){ <div> を返す <h2>ニュースタイトル: {this.state.infoData.title}</h2> <span>クリック数: {this.state.infoData.clicknum}</span> <p><button>クリック音量を変更する</button></p> </div> } } この時点で、基本的に次のことを理解しました。Reducers は、新しい状態を生成して Store に渡す指定された関数であり、コンポーネントは Store を通じて状態を取得してコンポーネント データを更新します。 行動を理解する
実際、「アクション」という言葉から、それがビジネスを処理するために使用される操作であると推測できます。 前のコードでの エクスポート デフォルト (状態、アクション)=>{} 1.アクションは操作なので、コンポーネントのイベント処理関数で必要になります。 <button onClick={this.addClick.bind(this)}>クリック数を変更する</button> クリックイベント関数 2. addClick 関数で何が起こっているか見てみましょう。 追加クリック(){ //状態を変更する ストア.ディスパッチ({ タイプ:"INFO_CLICK" }) this.setState({ //状態を更新する 情報データ:store.getState() }) } 3. ニーズに応じて、アクションが処理する必要があるビジネスロジックはクリック数を増やすことです。 //テストデータ let info = { title:"テストタイトル", クリック数:0 }; // パラメータ hull default (state = info, action) を通じてデータをエクスポートします =>{ if (action.type == "INFO_CLICK"){ oldNum = state.clicknum とします。 古い数値++; // 新しいデータを返します return Object.assign({},state,{clicknum:oldNum}); } return state; // 返される値はテストデータです} Reducer 関数では、 この時点で、なぜ Redux がまだ面倒なのかと疑問に思うかもしれません。はい、Redux は一般的に複雑なビジネス ロジックを持つプロジェクトで使用されます。 react.jsフレームワークにおけるReduxの基本的なケースの詳細な説明に関するこの記事はこれで終わりです。 react.jsフレームワークにおけるReduxの基本的な内容の詳細については、123WORDPRESS.COMの以前の記事を検索するか、以下の関連記事を引き続き参照してください。 今後とも123WORDPRESS.COMを応援してください。 以下もご興味があるかもしれません:
|
<<: Windows DNS サーバーに「ワームレベル」の脆弱性が露呈、17 年間存在
>>: Apache クロスドメイン リソース アクセス エラーの解決策
技術初心者として、初めて Linux システムをインストールするプロセスを記録しています。まず、Wi...
目次1. 型2. インスタンス3. コンストラクター4.toString() この記事では、4 つの...
問題の説明1. 収集ステーションのデータベース2. データが無い状態での移動は問題ありませんが、デー...
背景mysql.slow_log からスロー クエリ ログを取得するのは遅く、テーブルは csv テ...
数日前、同僚からMySQLのインデックスについて質問を受けました。大体わかっているのですが、まだ練習...
目次予防必要条件AWSアカウントを申請する仮想マシンの申請と有効化仮想マシンを申請するセキュリティグ...
Linux でファイルを編集した後、保存して終了するにはどうすればよいですか?保存して終了するコマン...
1. useState: 関数コンポーネントに状態を持たせる使用例: // カウンター impor...
【序文】 Vue と React の CSS モジュール ソリューションはどちらも、実装にローダーに...
これは、よく使われるけれども忘れられがちな CSS 実装方法のコレクションです。抜けや追加があれば、...
目次1. スクリプトを使用してDockerのTLSを暗号化する2. Dockerの設定を変更してリモ...
目次1 システムスループットの簡単な紹介2 試験方法2.1 クライアントテストツール2.1.1 GE...
Centos6.4 で mysql5.7.18 をインストールするための具体的な手順が全員に共有され...
Dockerでnginxをデプロイするのはとても簡単ですたった 1 行のコマンド: docker 実...
1. はじめに以前、「MySQL マスター スレーブ同期の原理」という記事を書きました。この記事を読...