[解決済み] React jsの「Mounting」とは何ですか?
質問
ReactJSを学習していると、マウントという言葉を何度も耳にするようになりました。そして、この言葉に関するライフサイクルメソッドやエラーがあるようです。Reactのマウントとは具体的に何を意味しているのでしょうか?
例
componentDidMount() and componentWillMount()
どのように解決するのですか?
Reactの主な仕事は、コンポーネントが画面上にレンダリングされたいものに合わせてDOMを修正する方法を見つけ出すことです。
React は、ノードのマウント(DOM への追加)、アンマウント(DOM からの削除)、アップデート(DOM 内のノードへの変更)により、これを行います。
ReactのノードがDOMノードとしてどのように表現され、DOMツリーのどこにいつ表示されるかは トップレベルAPI . 何が起こっているのかをよりよく理解するために、最もシンプルな例を見てみましょう。
// JSX version: let foo = <FooComponent />;
let foo = React.createElement(FooComponent);
では、何が
foo
で、何ができるのでしょうか?
foo
というのは、今のところ、JavaScriptのオブジェクトで、だいたいこんな感じです(簡略化)。
{
type: FooComponent,
props: {}
}
つまり、DOM 要素ではなく、DOM ツリーのどこにも存在せず、React 要素のノードであることを除けば、ドキュメント内で他に意味のある表現がありません。 これは、Reactに何を伝えるかだけです。 必要なもの が画面に表示されるようにします。 もし この React 要素がレンダリングされる。 まだ実装されていません。
を呼び出すことで、React に DOM コンテナに "mount" するように指示することができます。
ReactDOM.render(foo, domContainer);
これはReactに、そろそろ
foo
をページ上に表示します。React は
FooComponent
クラスを作成し、その
render
メソッドを使用します。をレンダリングするとします。
<div />
この場合、Reactは
div
DOM ノードを作成し、DOM コンテナに挿入します。
このように、Reactコンポーネントに対応するインスタンスとDOMノードを作成し、DOMに挿入する作業をマウントと呼びます。
なお、通常は
ReactDOM.render()
を使用して、ルートコンポーネントをマウントします。子コンポーネントを手動で mount" する必要はありません。親コンポーネントが
setState()
と、その
render
メソッドで特定の子を初めてレンダリングするように指示すると、React は自動的にその子を親に "マウント" します。
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] JSONPとは何か、なぜ作られたのか?
-
[解決済み] Reactルータを使ったプログラムによるナビゲーション
-
[解決済み] React JSX内のループ
-
[解決済み] Reactのこの3つの点は何をするところなのでしょうか?
-
[解決済み] React NativeとReactの違いは何ですか?
-
[解決済み】JavaScript版sleep()とは?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
JavaScriptの関数この指摘の問題を説明
-
親子コンポーネント通信を解決する3つのVueスロット
-
Vueがechartsのtooltipにクリックイベントを追加するケーススタディ
-
JavaScriptにおけるマクロタスクとミクロタスクの詳細
-
Vueにシンプルなメモ帳機能を実装
-
Javascript Bootstrapのグリッドシステム、ナビゲーションバー、ローテーションの説明
-
Vueの「データを聴く」原則を解説
-
[解決済み】JavaScriptの配列でforEachが関数でない不具合
-
[解決済み】Node.js Error: Cannot find module express
-
[解決済み】リクエストに失敗していないのに、「TypeError: failed to fetch」が表示される。