今見(jiàn)ましたhttp://davidchang.github.io/ngReact/
Reactjs と Angularjs を統(tǒng)合します。 Reactjs を使用して、レンダリングのみを擔(dān)當(dāng)する Angularjs の命令部分を?qū)g裝します。
この組み合わせについてどう思いますか?
メリットは何ですか?デメリットは?
この件について詳しい方、アドバイスをいただければ幸いです、よろしくお願(yuàn)いします。
私はreactについてあまり知りませんが、説明してみます:
Angular の自動(dòng)ダーティ チェック メカニズムにより、Angular のレンダリングは非常に時(shí)間がかかります。そのダーティ チェックでは、dom 要素內(nèi)のすべての ngBind 要素が記録され、変更が判斷され、各 $digest ループ內(nèi)のコンテンツが置き換えられます。これに関する問(wèn)題の 1 つは、ページ內(nèi)のデータが多すぎると、より多くの DOM 要素が操作されるため、効率が低下することです。そのため、Angular の ngRepeat の上限は 2000 です。
React にはテンプレートがないため、DOM を直接操作するのではなく、js を使用してレンダリングとメモリ內(nèi)での操作が行われます。これは非常に高速であるため、この 2 つの組み合わせにより UI レンダリングが大幅に向上し、大規(guī)模な環(huán)境に適しています。データの提示は非常に役立ちます。
欠點(diǎn)としては、私が反応するのが好きではないということでしょうか? Angular のテンプレートは大きな利點(diǎn)です。目に見(jiàn)えるものがそのまま得られます。すべてが命令であり、それは依然として HTML です。逆に、React が HTML をコンポーネントとして書(shū)き込む方法では、最適化とメンテナンスのコストが高すぎると思います。ES7 ではObject.observe 関數(shù)を使用すると、ng の効率が大幅に向上します。
理解できないこと: 2 つを組み合わせた後に DOM イベントを処理するにはどうすればよいですか?雙方向のデータ バインディングを進(jìn)めるにはどうすればよいですか?雙方向データ バインディングが必要ない場(chǎng)合、Angular には 1.3 以降、{{ ::expression }} というワンタイム バインディング構(gòu)文が組み込まれています。これにより、雙方向データ バインディングの効率が低いという問(wèn)題が大幅に軽減されます。修正は歓迎です。 。