学習過程を記録

1.仮想DOMとは何ですか?

彼は、JSオブジェクトであります

React.createElement(
  'DIV'、
  {クラス名: 'CN'}、

  'コンテンツ1'、

  'コンテンツ2'
);

コンパイルされたブラウザ:

{

  タイプ:「DIV」

  小道具:{

    クラス名: 'CN'、

    子供達: [

      'コンテンツ1'、

      'コンテンツ2'、

    ]

  } 

}。 

種類や属性以外の属性を次のように加えて、もともと別のに渡され、変換され、子供の小道具の配列を渡すためにパッケージ化されます。配列やパラメータのリストとして子どもたちが渡されたかどうかは問題ではない - 仮想DOMを生成し、そして最終的に一緒にパッケージするとき。

同じクラスの同じインスタンス、または同じ関数に値型を比較す​​るために使用===(三重等しい)ので、これら2つの値を反応させます。

これは、そのReactDom.renderとレンダリングのコンポーネント(クラスコンポーネントこの文があるのみ機能)ではない、同じ機能を注目に値します。

想像して、私たちは1000年の行から最初の行を削除しました。コントラスト指数によれば、その後、最初のコンテンツから出発して同じいないため、「更新」、残りの999のサブアイテムにあっ反応します。幸いなことに、組み込まれている反応する方法(ビルトイン)この問題を解決します。プロパティへの重要な要素の比較、限り、キーは一意であるとして、むしろ削除それらをより、要素を移動します反応し、その後、彼らはDOMツリーから彼に戻りました。(このプロセスは、で反応にマウントとマウント解除と呼ばれます)

おすすめ

転載: www.cnblogs.com/jiadaxiadedaimashenghuo/p/12419289.html