[解決済み] React - デバッグのためにDOM要素からコンポーネントを取得する
質問
コンソールでのデバッグのために、バックのReactコンポーネントを取得するためにDOM要素のインスタンスを使用するReactで利用可能なメカニズムはありますか?
この質問は、本番コードで使用するという文脈で以前に質問されました。しかし、私の焦点は、デバッグを目的とした開発ビルドにあります。
私はよく React 用の Chrome デバッグ拡張機能 をよく見かけますが、これはすべてのブラウザで利用できるわけではありません。DOM エクスプローラーとコンソールを組み合わせると、ハイライトされた DOM 要素に関する情報にアクセスするために '$0' ショートカットを簡単に使用することができます。
デバッグ コンソールで、次のようなコードを書きたいと思います。 getComponentFromElement($0).props のようなコードをデバッグ コンソールに書きたいと思います。
Reactの開発ビルドでも、コンポーネントを取得するために要素のReactIdを使用するメカニズムはないのでしょうか?
どのように解決するのですか?
ドキュメントに目を通したところ、外部で公開されているAPIでは、直接IDでReactコンポーネントを探しに行くことはできないようです。しかし、あなたの最初の
React.render()
の呼び出しを更新し、戻り値をどこかに保持することができます、例えば。
window.searchRoot = React.render(React.createElement......
その後、searchRoot を参照し、直接その中を見るか、あるいは
React.addons.TestUtils
例えば、これはすべてのコンポーネントを提供します。
var componentsArray = React.addons.TestUtils.findAllInRenderedTree(window.searchRoot, function() { return true; });
このツリーをフィルタリングするためのいくつかの組み込みメソッドがあります。また、独自の関数を書いて、何らかのチェックに基づいて構成要素のみを返すこともできます。
TestUtilsの詳細はこちら。 https://facebook.github.io/react/docs/test-utils.html
関連
-
[解決済み] どのDOM要素にフォーカスがあるかを調べるには?
-
[解決済み] DOM要素が現在のビューポートで表示されているかどうかを確認するにはどうすればよいですか?
-
[解決済み] イベントを発生させた要素のIDを取得する
-
[解決済み] JavaScriptやデバッグでDOMノード上のイベントリスナーを見つけるには?
-
[解決済み] setStateを呼び出さずにReactコンポーネントを強制的に再レンダリングすることは可能ですか?
-
[解決済み] 内蔵DOMメソッドやPrototypeを使ってHTML文字列から新しいDOM要素を作成する
-
[解決済み] Reactで要素を表示・非表示にする
-
[解決済み] Reactコンポーネント外でのクリックを検出する
-
[解決済み] オブジェクトの配列からReactコンポーネントをレンダリングする
-
[解決済み] jQueryの$という記号の意味は何ですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] コンテンツスクリプトを使用して、ページコンテキスト変数と関数にアクセスする
-
[解決済み] JSのDateからDay名
-
[解決済み] JavaScript で範囲を作成する - 奇妙な構文
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] node.jsで文字列のsha1ハッシュを取得するにはどうすればよいですか?
-
[解決済み] React js 親コンポーネントから子コンポーネントの状態を変更する
-
[解決済み] 文字列とラベルのローカライズとグローバリゼーションのベストプラクティス【終了しました
-
[解決済み] Fetch: ステータスがOKでない場合、プロミスを拒否し、エラーをキャッチするか?
-
[解決済み] JavaScriptでDIVを表示・非表示にするには?
-
[解決済み] Reactコンポーネントのメソッドを外から呼び出す