WebDevCurriculum]コンポーネントに基づく開発-応答


概要
あなたの反応は理解できます.
Checklist
  • 法案にはどのようなメリットがありますか?
  • ReactによりWeb開発を最速に開始する.
    →reactのcomponentlifecycleXML(HTML + Javascript)自身の特徴はドキュメント化が良く、簡潔明瞭である.
    →Angular,EmberなどのDSL(ドメイン特定言語,特定目的,環境言語)に比べて学習が容易である.
    →React-ネイティブと似たような部分が多く、Reactを上手に扱うことができればアプリケーションを開発することができます.
    Data BindingまたはData flowは一方向であり、UIコンポーネントにデータを渡す単純なデータストリーム(ステータス管理)を実現することができる.

    →Reactの特徴的依存が存在しないモジュール.
    →UIは明確に実装されており、テストしやすい.
    ※reactでデータを表現するためにcomponentを階層化することができます.

    上記のように、HTMLのようにデータをパーティション化し、それに基づいてコンポーネント階層を整理できます.
  • Reactの特徴は何ですか?
  • →reactは、libraryおよびframeworkの特徴を有する.library:npmインストールによりWeb開発を行い、フォルダ構造やコンポーネント名に制限されません.framework:作成したコンポーネントを呼び出してレンダリングし、独自のライフサイクルルールに従って操作します.
    →Reactはライフサイクルが存在する.
    Reactは、最終的に画面が表示されるまで、特定のライフサイクルを経験します.componentWillReceivePropsshouldComponentUpdatecomponentWillUpdaterender()componentDidUpdateこのライフサイクルはそれぞれReactです.component classでアクセスでき、各時点で論理を作成し、特定の操作を実行するように構成できます.
    class Test extends React.Component
    以上のように、反応します.Component classを読み込んだ後
    componentWillMount(){
    	console.log('componentWillMount');
    }
    このループの時点で特定の動作を実行するよう指定できます.
  • Reactの構成部品は何ですか?
  • データを表すか、データを転送および受信するために構成された特定のパーティションを表す.
    class Welcome extends React.Component {
      render() {
        return <h1>Hello, {this.props.name}</h1>;
      }
    }
    上の構成は、Welcomeコンポーネントが画面を表示し、propsパラメータを介してデータを転送することです.
    Reactのすべてのコンポーネントは、Reactの内部ライフサイクルを経てスクリーンをレンダリングします.

    ※componentWillUnMountは、componentエラーが発生した場合に操作します.
  • コンポーネント間でデータを交換する場合、一方向バインドと双方向バインドにはどのような違いがあり、どのようなメリットとデメリットがありますか?
  • bindingデータ構造化されたモデルと、画面に表示されるビュー(メモリコンセプトに拡張)と、互いに独立したコンセプトを組み合わせたコンセプト.

    簡単に言えば、モデルからデータを取得するプロセスは、狭義にはコンポーネント間のデータストリームである.단방향 데이터 binding画面でデータを受信する場合、基本的にはモデルにデータを格納した後、つまり画面に表示されるデータとモデルデータが一致しなければならない.
    データのスクリーンレンダリングは、これらのモデル>ビューまたは親コンポーネント>サブコンポーネントの順にデータストリームで完了します.

    この応答のデータバインディング方式は단방향 데이터 바인딩と呼ばれ、双方向データバインディングに比べてロード速度がやや遅くなる可能性がある.
    この速度差を補うため,ReactにはVirutal DOMの概念が存在する.양방향 데이터 bindingVue.jsというフレームワークは、一方向データバインディングおよび양방향 데이터 바인딩を含む.
    すなわち、モデルにデータを格納すると、ユーザーが入力した変数値は、画面上でのビューの一方向性ではなく、モデルデータとビューデータを同時に更新します.
    簡単に言えば、既存の一方向データがjavascript>html順に伝達されている場合、双方向データはhtml>javascript順に伝達することができる.
    レンダリング速度は、一方向データバインドよりも優れています.관점의 차이これは、一方向データと双方向データのバインドがどちらが良いか、どちらが悪いかという概念ではありません.
    サービスの目的や規模のために適切な言語を選択するように、データバインディング(フレームワークによって決定されるが)も状況に応じて適切な方法を選択することができます.
  • reactベースのWebアプリケーションのステータス管理ライブラリはどれらがありますか?
  • hookReact自体にはライフサイクルがあります.
    ユーザが特定の論理点で特定のイベントを処理する場合、既存のComponent class(ComponentWillMountなど)が利用される.
    しかし、hookというステータス管理ライブラリがあり、単純なAPI(method)を使用してcomponent class機能を使用することができます.
    最もよく使われるhookはuseStateuseEffectです.
    各ステータス管理ライブラリには、すべてのステータスで実行でき、1つの時点だけでなく利用できるという利点があります.
  • これらのステータス管理者を使用するには、どのようなメリットとデメリットがありますか?
  • 既存のコンポーネントの論理が多すぎると、コード容量が大きくなり、メンテナンスが難しくなります.
    ステータス管理ライブラリは、これらのクラスとコンポーネントによってライフサイクルを関数向けのライフサイクルに変換します(実装).
    すなわち,コードを1行の関数式プログラミングで軽量レベルで処理でき,classやcomponentを必要とせずにUIを実現できる機能をサポートするツールがhookである.
    リファレンスコンセプト
  • binding
  • 名前の通り、バンドルされるプロセスは、通常、オブジェクトをバンドルするプロセスを指します.
    通常、クラスまたはオブジェクト内でインスタンスをthisでバインドし、this(フロントエンドではpropsになる)をバインドしてオブジェクトにアクセスします.
    バインドは、データを受信するときにバインドされたオブジェクトにアクセスして受信する方法(this.props.data)からなるコアコンセプトです.
  • MVC pattern
  • これは,ソフトウェアやWeb/APPアプリケーションを開発するための方法論である.
    データバインディングの概念はデータを処理する論理と密接に関連しているため,MVCモードと結びつけて理解することが望ましい.
  • Model
  • 모델링の概念に似ています.
    名前の通りDATAの構築を担当しており、簡単に言えばスクリーンで実現する前に使用できる形式に加工されています.
  • View
  • モデルから構造化へのDATAをスクリーン上で実装します.
    ビューは、ユーザーインタフェースを使用してモデル内の構造化されたデータを表し、モデルからデータを受信して反映(更新)します.
    整理する

    0. why

  • Reactを見て、なぜReactを使ったほうがいいのか考えてみましょう.
  • 1. what

  • 法案の特徴を見てみましょう.
  • Reactの状態管理や一方向データバインディングなどの基本的な動作原理と構造を理解します.
  • 2. how

  • 実務では,REACTの特徴をどのように利用するかを考える.
  • 3.参照リンク


    Reactの利点
    https://www.c-sharpcorner.com/article/what-and-why-reactjs/
    Domain Specific Language
    https://stackoverflow.com/questions/809574/what-is-a-domain-specific-language-anybody-using-it-and-in-what-way
    React文書-データ階層/一方向データストリーム
    https://ko.reactjs.org/docs/thinking-in-react.html
    React data flow
    https://velog.io/@kyusung/React-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0
    React life cycle
    https://hyogeun-android.tistory.com/entry/4-React-%EC%83%9D%EB%AA%85%EC%A3%BC%EA%B8%B0
    React公式ドキュメント-ライフサイクル
    https://ko.reactjs.org/docs/react-component.html
    https://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/
    React公式ドキュメント-VCモード
    https://developer.mozilla.org/ko/docs/Glossary/MVC
    MVC pattern
    https://medium.com/@jang.wangsu/%EB%94%94%EC%9E%90%EC%9D%B8%ED%8C%A8%ED%84%B4-mvc-%ED%8C%A8%ED%84%B4%EC%9D%B4%EB%9E%80-1d74fac6e256
    https://stackoverflow.com/questions/11064316/what-is-viewmodel-in-mvc
    データバインドの概念
    https://velog.io/@milkyway/%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B0%94%EC%9D%B8%EB%94%A9-Data-Binding
    https://authorkim0921.tistory.com/13
    hookのタイプ
    https://velog.io/@velopert/react-hooks