[解決済み] HTMLをレンダリングせずにReactを使用することは可能ですか?
質問
htmlをレンダリングすることなく、Reactを使用してロジックを実行し、データをjavascript関数に送り返すことが可能かどうか疑問に思っています。私が考えているコンポーネントは、あなたがいくつかのデータを渡すものであり、それはreactの外のjavascript関数にデータを送り返すでしょう。それが可能であることは知っていますし、私自身もその部分を行ったことがありますが、必要なhtmlをレンダリングせずにこれを行う方法がよくわかりません。これはreactの実用的な使用例なのでしょうか?
どのように解決するのでしょうか?
React >= 16.2時点では、これらのバージョンのいずれでも使用可能です。
render() {
return false;
}
render() {
return null;
}
render() {
return [];
}
render() {
return <React.Fragment></React.Fragment>;
}
render() {
return <></>;
}
戻る
undefined
は動作しません。
私が考えているコンポーネントは、あなたがいくつかのデータを渡すものです。 そして、それはreactの外のjavascript関数にデータを送り返します。
なぜそのためのコンポーネントを作りたいのでしょうか?ほとんどの場合、既存のコンポーネントの中にある普通のjs関数で十分です。
例えば、コンポーネントがマウントされたときにサイドエフェクトを設定し、アンマウントされたときにそれを破棄するような使い方があります。例えば、縦向きのReactNativeモバイルアプリがある場合、以下のようなものが考えられるでしょう。
<Landscape/>
コンポーネントがあり、マウントされると一時的にアプリを横向きに表示することができ、アンマウントされると向きはアプリのデフォルトにリセットされます。既存のコンポーネントでこの向きの変更を管理できるのは確かですが、専用のコンポーネントを作成する方が便利で再利用しやすいかもしれません。
Reactはサーバーサイドでも動作するので、DOMの変更を伴わないような使い方も可能だと思います(ただし、仮想DOMの計算だけかもしれません)。
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] ページを再読み込みせずにURLを変更するにはどうすればよいですか?
-
[解決済み] jQueryを使用しない$(document).ready相当
-
[解決済み] Reactルータを使ったプログラムによるナビゲーション
-
[解決済み] React JSX内のループ
-
[解決済み] ES6インポートで中括弧を使用するのはどのような場合ですか?
-
[解決済み] Reduxの非同期フローになぜミドルウェアが必要なのか?
-
[解決済み] HTMLボタンやJavaScriptをクリックしたときにファイルをダウンロードさせる方法
-
[解決済み] Javascriptで動的に命名されたメソッドを呼び出すにはどうすればよいですか?
-
[解決済み] JavaScriptとLuaの微妙な違い [終了しました]
最新
-
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名
-
[解決済み] AngularJSのエラーです。Cross Origin リクエストはプロトコルスキーム http, data, chrome-extension, https に対してのみサポートされています。
-
[解決済み] JavaScript で範囲を作成する - 奇妙な構文
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] moment.jsでミュータビリティを回避するには?
-
[解決済み] jqueryはjavascriptのライブラリなのかフレームワークなのか?[クローズド]
-
[解決済み] イテレータでmap()を使用する
-
[解決済み] HTML要素にスクロールバーがあるかどうかをチェックする
-
[解決済み] Chrome拡張機能:popup.htmlを強制終了させる
-
[解決済み] リダイレクトされずにHTMLフォームを送信する方法