reactの基本使用(簡略)
4181 ワード
ポイントからreact(判例版なし)を調べてみます.
1、何がreactですか
reactはh 5のフロントエンドフレームであり、このフレームワークでは、画ページを提供し、データを要求し、データをレンダリングする一連のサービスを提供し、react技術スタックを使用して、フロントエンドプロジェクトを行うことができます.
先端領域には3つのフレームがあります.
reactはFacebookの内部にあるjavascriptクラスです.2013年5月にオープンし、ユーザーインターフェースの作成に利用できます.
2、レactを正しく認識する
Reactはmvcフレームではありません.ライブラリだけです.ビューだけです.
Reactは思想で、「learn onece,write anywhere」を提唱して、ウェブ版のReact.jsと元生AppのReact Natvieを分けます.
reactは一般的にreact、react.js、react.nativeを指し、reactは思想であり、react.jsとreact.nativeはreact思想の具体的な体現である.
React.jsはwebappの開発です.
React nativeは、元の生に近いappを開発するためのものです.(isoとandroid原生のアプリ)
react技術スタック:react.js+react-router+redux+es 6+webpack+fetch
Reactの核心思想:
簡単:アプリケーションはどれかの時点で長くなるべきという様子を表すだけで、下のデータが変わったら、Reactは自動的にすべてのユーザーインターフェースの更新を処理します.(データ駆動dom)
宣言式:Reactは声明の範を採用しており、応用を簡単に説明できます.(ラベルを使う形式です.)
Reactの特徴
1、コンポーネント化2、一方向データストリーム3、仮想DOM 4、状態マシン
reactとvueを比較します.
同じ点はいずれもJavaScriptのUIフレームであり、自分の技術スタック があります.コンポーネント化 Virtual DOM データ駆動DOM 違い点テンプレートvs JSX 状態管理(state)vsオブジェクト属性 メンテナンスチーム 3、jsx
vueでは、テンプレート文法を使用していますが、reactでは、テンプレート文法は一切ありません.オリジナルのjsまたはjsxを使用してコンポーネントを出力することができます.
JSX=JavaScript+XMLは、Reactコンポーネントの内部にラベルを構築するクラスXML文法です.ReactはJSXを使用しない場合も同じですが、JSXを使用するとコンポーネントの可読性が向上しますので、JSXの使用を推奨します.
Xmlは、extenseble markp langeで、拡張可能なマーク言語です.私たちはreact.jsを使ってweb開発を行う場合、通常はhtmlのラベルを使って構造を構築します.
jsxの本質
任意のhtml元素は、固定されたjsオブジェクト構造で記述できます.
JSXのメリットは簡単で、XMLに詳しい開発者でも簡単にJSX を把握できます.はより直感的で、可読性が高いです. より語義化する.
分離点に注目して、JSXは綺麗な方法でラベルと業務ロジックとの分離を確保します.
4、reactのリストレンダリング
5、コンポーネント化
1、コンポーネントとは、*がカプセル化された独立した機能を有するUIコンポーネントである.
独立機能を備えているということは、通常は以下を含む. 構造 データ(およびデータの変化) 表現 2、コンポーネント化思想
Reactは、UI構成をコンポーネントとして再検討し、UI上の各機能が相対的に独立したモジュールをコンポーネントとして定義し、小さいコンポーネントをグループまたはネストすることによって大きなコンポーネントを構成し、最終的には全体UIの構築を完了することを推奨する.
コンポーネントのメリット:組み合わせ可能、再利用可能、メンテナンス可能
6、コンポーネントを定義する
reactでは、コンポーネントを定義する3つの方法がある. React.create Class S 6のクラスキーワードを使って、React.Componentコンポーネント を継承します.直接関数を使用して無状態コンポーネントを定義する 7、レンダリングと使用コンポーネント
レンダリングコンポーネントとは、通常、あるコンポーネントをページ内のあるdomノードにマウントすることをいう.
この場合は、ReactDOM.render方法が必要です.
フォーマット:ReactDOM.render(コンポーネントインスタンスオブジェクト、Dmノードをマウント)
その中:
コンポーネントの実例オブジェクトは直接jsxの文法を使ってもいいです.例えば、
Dmノードをマウントするには、元のjs方式を使用してdomノードを取得し、使用できるgetElementById、getElements ByTagName、querySelectorを確保しなければならない.
一つのアプリケーションでは、通常はルートノードが一つしかないので、通常は一度だけReactDOM.renderを呼び出す必要がある.
8、state
reactはステータスマシンで、ステータスはstateで実現します.stateは各要素のビュー状態を確定するために使用され、各Reactコンポーネントは自分のスタントを持つことができます.react開発を行うにあたり、コアは各コンポーネントの状態を確認して管理します.コンポーネントは状態によってレンダリングされ、状態が変化するとコンポーネントが更新されます.
stateの使用は初期状態を定義し、get Initial State方法 を使用する.**状態を取得し、this.state.*状態名 を使用する.設定状態は、this.set State方法を使用して です.
A.初期状態を定義する
get Initial Stateを使う方法
この方法では、returnを使ってオブジェクトを返す必要があります.オブジェクトで定義されているのがコンポーネントの状態です.
B.取得状態
this.stateを使用します.ステータス名
現在のコンポーネントでは、現在のコンポーネントのすべての状態をthis.stateを使用して取得します.
C.設定状態
this.set Stateを使う方法
状態を設定するか、または修正状態と呼ぶか、特殊です.
this.set State方法を使用しなければなりません.
状態に値を付け直さなければなりません.
9、props
propsは属性を表し、親子コンポーネント通信を実現するために用いられる.親コンポーネントがサブアセンブリに伝達するものは、データと方法を伝えることができる.
属性のデフォルトを設定します.
FatherコンポーネントはSonコンポーネントを参照する際に、一つのage属性を伝達するので、デフォルトの属性値が上書きされます.
10、コンポーネントのライフサイクル
コンポーネントは作成、レンダリングからアンインストールまでの完全なサイクルは、コンポーネントのライフサイクルです.ライフサイクルのコンポーネントでの具体的な具現は、いくつかのフック関数です.
フック関数とは、開発者にコードを作成できる機会を提供します.ライフサイクルのフック関数を利用して、特定の機能を実現できます.
react.jsではライフサイクルを三つの段階に分けることができます.マウントフェーズ 更新フェーズ アンインストールフェーズ ショルドComponentUpdateは、パフォーマンスの最適化を行う上で重要なポイントです.
レンダーはマウント段階でも更新段階でもあります.
11、仮想DOM
仮想domはreactによって最初に提案された.
仮想DOMはDOMの基礎の上で抽象的な層を創立したので、私達はデータと状態のするいかなる変化に対して、いずれも自動的で効率的な同期に仮想DOMになられて、最後に更に大量にDOMの中に同期します.
バーチャルdomとは、具体的にはjsxであり、以下の通りです.
転載先:https://juejin.im/post/5d08b81ee51d454f73356d58
1、何がreactですか
reactはh 5のフロントエンドフレームであり、このフレームワークでは、画ページを提供し、データを要求し、データをレンダリングする一連のサービスを提供し、react技術スタックを使用して、フロントエンドプロジェクトを行うことができます.
先端領域には3つのフレームがあります.
reactはFacebookの内部にあるjavascriptクラスです.2013年5月にオープンし、ユーザーインターフェースの作成に利用できます.
2、レactを正しく認識する
Reactはmvcフレームではありません.ライブラリだけです.ビューだけです.
Reactは思想で、「learn onece,write anywhere」を提唱して、ウェブ版のReact.jsと元生AppのReact Natvieを分けます.
reactは一般的にreact、react.js、react.nativeを指し、reactは思想であり、react.jsとreact.nativeはreact思想の具体的な体現である.
React.jsはwebappの開発です.
React nativeは、元の生に近いappを開発するためのものです.(isoとandroid原生のアプリ)
react技術スタック:react.js+react-router+redux+es 6+webpack+fetch
Reactの核心思想:
簡単:アプリケーションはどれかの時点で長くなるべきという様子を表すだけで、下のデータが変わったら、Reactは自動的にすべてのユーザーインターフェースの更新を処理します.(データ駆動dom)
宣言式:Reactは声明の範を採用しており、応用を簡単に説明できます.(ラベルを使う形式です.)
Reactの特徴
1、コンポーネント化2、一方向データストリーム3、仮想DOM 4、状態マシン
reactとvueを比較します.
同じ点
vueでは、テンプレート文法を使用していますが、reactでは、テンプレート文法は一切ありません.オリジナルのjsまたはjsxを使用してコンポーネントを出力することができます.
JSX=JavaScript+XMLは、Reactコンポーネントの内部にラベルを構築するクラスXML文法です.ReactはJSXを使用しない場合も同じですが、JSXを使用するとコンポーネントの可読性が向上しますので、JSXの使用を推奨します.
Xmlは、extenseble markp langeで、拡張可能なマーク言語です.私たちはreact.jsを使ってweb開発を行う場合、通常はhtmlのラベルを使って構造を構築します.
jsxの本質
任意のhtml元素は、固定されたjsオブジェクト構造で記述できます.
JSXのメリット
分離点に注目して、JSXは綺麗な方法でラベルと業務ロジックとの分離を確保します.
4、reactのリストレンダリング
var book={react,vure,ng};
var newBook=book.map(item=>{item} )
{newBOOK}
mapを使うとreactのリストに表示される標準的な書き方です.5、コンポーネント化
1、コンポーネントとは、*がカプセル化された独立した機能を有するUIコンポーネントである.
独立機能を備えているということは、通常は以下を含む.
Reactは、UI構成をコンポーネントとして再検討し、UI上の各機能が相対的に独立したモジュールをコンポーネントとして定義し、小さいコンポーネントをグループまたはネストすることによって大きなコンポーネントを構成し、最終的には全体UIの構築を完了することを推奨する.
コンポーネントのメリット:組み合わせ可能、再利用可能、メンテナンス可能
6、コンポーネントを定義する
reactでは、コンポーネントを定義する3つの方法がある.
レンダリングコンポーネントとは、通常、あるコンポーネントをページ内のあるdomノードにマウントすることをいう.
この場合は、ReactDOM.render方法が必要です.
フォーマット:ReactDOM.render(コンポーネントインスタンスオブジェクト、Dmノードをマウント)
その中:
コンポーネントの実例オブジェクトは直接jsxの文法を使ってもいいです.例えば、
Dmノードをマウントするには、元のjs方式を使用してdomノードを取得し、使用できるgetElementById、getElements ByTagName、querySelectorを確保しなければならない.
一つのアプリケーションでは、通常はルートノードが一つしかないので、通常は一度だけReactDOM.renderを呼び出す必要がある.
8、state
reactはステータスマシンで、ステータスはstateで実現します.stateは各要素のビュー状態を確定するために使用され、各Reactコンポーネントは自分のスタントを持つことができます.react開発を行うにあたり、コアは各コンポーネントの状態を確認して管理します.コンポーネントは状態によってレンダリングされ、状態が変化するとコンポーネントが更新されます.
stateの使用
A.初期状態を定義する
get Initial Stateを使う方法
この方法では、returnを使ってオブジェクトを返す必要があります.オブジェクトで定義されているのがコンポーネントの状態です.
B.取得状態
this.stateを使用します.ステータス名
現在のコンポーネントでは、現在のコンポーネントのすべての状態をthis.stateを使用して取得します.
C.設定状態
this.set Stateを使う方法
状態を設定するか、または修正状態と呼ぶか、特殊です.
this.set State方法を使用しなければなりません.
状態に値を付け直さなければなりません.
9、props
propsは属性を表し、親子コンポーネント通信を実現するために用いられる.親コンポーネントがサブアセンブリに伝達するものは、データと方法を伝えることができる.
属性のデフォルトを設定します.
FatherコンポーネントはSonコンポーネントを参照する際に、一つのage属性を伝達するので、デフォルトの属性値が上書きされます.
10、コンポーネントのライフサイクル
コンポーネントは作成、レンダリングからアンインストールまでの完全なサイクルは、コンポーネントのライフサイクルです.ライフサイクルのコンポーネントでの具体的な具現は、いくつかのフック関数です.
フック関数とは、開発者にコードを作成できる機会を提供します.ライフサイクルのフック関数を利用して、特定の機能を実現できます.
react.jsではライフサイクルを三つの段階に分けることができます.
レンダーはマウント段階でも更新段階でもあります.
11、仮想DOM
仮想domはreactによって最初に提案された.
仮想DOMはDOMの基礎の上で抽象的な層を創立したので、私達はデータと状態のするいかなる変化に対して、いずれも自動的で効率的な同期に仮想DOMになられて、最後に更に大量にDOMの中に同期します.
バーチャルdomとは、具体的にはjsxであり、以下の通りです.
転載先:https://juejin.im/post/5d08b81ee51d454f73356d58