タグ

domに関するasa_ca3のブックマーク (4)

  • React.jsのComponent Lifecycle - Qiita

    今回はComponentのlifecycleについて書きたいと思います。 React.jsではComponentの状態の変化に合わせて色々メソッドを呼んでくれるのでそれに合わせて初期化や後始末な処理を書くことが出来ます。 よく使うのはcomponentDidMountやcomponentWillUnmount辺りです。 イベントの登録をcomponentDidMountでやってcomponentWillUnmountで解除するというのがよく使うパターンだと思います。 componentWillMount() ComponentがDOMツリーに追加される前に一度だけ呼ばれます。 なので初期化処理を行うのに適しています。 この中でsetStateするとrender時にまとめて行われます。 server-side rendering時にも呼ばれるのでどちらでも動くコードである必要があります。 c

    React.jsのComponent Lifecycle - Qiita
  • React.jsとserver-side rendering - Qiita

    server-side renderingとは文字どおりサーバーサイドでHTMLを生成してrendering出来るようにするものです。SinglePageApplicationのようなJavaScriptでDOMを組み立てるようなアプリケーションの場合、サーバーから返されるHTMLには空のdivだけがあってそこからJavaScriptを読み込んでtemplateを描画することになり、これには2点の問題点があります。 初期のロード時間 HTMLが返されてJavaScriptを評価してそこからtemplateの表示になるので、サーバーサイドからHTMLが返される場合と比べて当然時間が掛かります。なので別途ローディングを見せるなどの工夫が必要になります。 SEO 最近だとGoogleのクローラーがJavaScriptを解釈するようになったのでGoogleについては問題ないと言えるかもしれませんが

    React.jsとserver-side rendering - Qiita
  • DOMに要素が挿入される度にイベントを起こすDOMNodeInsertedの扱い方 - 三等兵

    DOMに要素が挿入されたときを検出できるのがDOMNodeInsertedイベント。 たとえばajaxで特定の場所が表示されたらDOMに要素が挿入されたときや、ページング系のアドオンやユーザースクリプトでスクロールバーが下にきたら要素が挿入されたときなど、そういったときにイベントを発生させることができます。 要素が挿入されたかどうか検出するには自前でDOMを監視するコードを書く必要がありますが、このイベントを使えば簡単ですね。IE以外の主要なブラウザには実装されています。 しかしこれどうも確認してみたら非推奨になってるらしいんだけど。 http://www.w3.org/TR/DOM-Level-3-Events/#event-type-DOMNodeInserted あれか。同期的だからかな。何もしらずに使うと面倒なことなりますからね。というかなりました。とはいえ、これに変わるものはない

    DOMに要素が挿入される度にイベントを起こすDOMNodeInsertedの扱い方 - 三等兵
  • DOM 構造変化時のイベント処理

    不特定サイト向けに設計する JavaScript は jQuery 等の便利ライブラリ環境を前提とすることが難しく、従って素の JavaScript で書く事が多い。このような状況での互換性問題は難しさ一つでもある。 今回は動的に追加された要素へイベントハンドラを設定する方法 (jQuery で言うところの on() の振り替え手段) と古い IE への対応方法について調べている。単純に考えて DOM に新しいノードが追加された時にイベントハンドラを設定してやれば良いのだが、これまた古い IE では W3C DOM Events 仕様だけでは難しいようだ。 W3C DOM Events を使用する DOM の構造変化を検出する方法としては W3C DOM4 仕様の MutationObserver を使った方法と DOM Level3 Events 仕様の "DOMNodeInserted

  • 1