React-0|初食
2068 ワード
jQuery or React?
jQuery
原生JavaScript
パッケージをより使いやすくし、尊ぶのはhtml
css
とjs
独立した思想、React
ある機能を実現するhtml
css
とjs
を一枚に縛り、一つのコンポーネントとして使用している.個人的には、両者にはそれぞれ長所があり、集中点も異なると思います.jQuery
ツールライブラリや論理業務の開発にもっと適しているはず、すなわちview
層の開発には関与していない.React
ページビジネスの開発に適しており、複数の一般的な機能モジュールをコンポーネントとして多重化できるように設計されている.JSX
React
・html
・、css
とjs
を1つのコンポーネントとしている以上、この3つをどのように統合するか.そのため、FacebookにはJSX
文法が導入されている.JSX
ファイルには、通常、html
およびjs
コードが表示されますが、css
コードは、一般的に外部から導入されることにより、以下のように追加されます.import React from 'react';
import 'text-view.css';
export default class TextView extends React.Component {
constructor(props) {
super(props);
this.state = {
content: props.content
}
}
render() {
return (
{this.state.content}
);
}
}
ライフサイクル
React
のコンポーネントにはライフサイクルがあり、componentWillMount
、componentDidMount
、render
など、コンポーネントの異なるロード段階で異なるコールバック方法があり、開発者はこれらの方法の中でコンポーネントをよりよく制御することができ、例えば、コンポーネントの破棄時にソースを解放するなどの操作を行うことができる.原理と効率
jQuery
直接操作DOM
に比べ、React
Virtual DOM
一種DOM
の技術で間接操作Virtual DOM
.“DOM”
技術とは、開発者が変更することDOM
実際には影響しないDOM
、最終的にはDOM
仮想的React
構造に特定のアルゴリズムを加えたものである.React
イベントメカニズムを最適化し、イベント依頼を採用したonClick
同じイベントをまとめ、どの要素がそのイベントをトリガーしたのかを算出し、その要素にイベントを割り当てる.例えばonClick
コードには複数のDOMバインドがあるかもしれませんが、最終的には同じReact
にバインドされているだけで、Virtual DOM
どの要素がこのイベントをトリガーしたのかを計算します.最も重要なのは、
React
DOM
の更新には、変更するだけで変更する必要があるという優れた利点があります.すなわち,どの構造が確実に更新される必要があるのか,どの構造が不要なのかをアルゴリズムで計算し,その後必要とするDOM
構造更新を行う.