2016-05-24 12 views
0

ボタンを介して可視性が切り替わる右サイドバーを持つアプリケーションがあります。そのサイドバーには、[チャット]、[ヘルプ]、[検索]など、いくつかの機能があります。私は同様の機能を持ち、すべてのノードがレンダリングされていることに気付いただけで、CSS経由で隠されているアプリからいくつかのプレーンなHTMLを探していました。可能なすべての要素をレンダリングするか、要求に応じてレンダリングする

私は同じことをする必要があるので、これはReactで行うのが良い考えかどうか考えていました。しかし、React要素には、更新時にrenderメソッドを呼び出す状態があることがわかりました。サイドバーが開いているかどうか、そしてサイドバーの中に何が入っているかを格納するために、この状態を使用することができます。

これはリアクションの方法ですか?表示されていない場合でもすべてのノードをレンダリングする方が良いか、または状態の変更によって要求に応じてレンダリングされたノードを持つ方が良いでしょうか?

答えて

0

私の気持ちは、目に見えるものをレンダリングするだけで、より標準的なリアクション方法ですが、この場合は主にパフォーマンスの決定です。すべてをレンダリングし、CSSで可視性を切り替えるだけであれば、最初のレンダリングには時間がかかります(ただし、時間差は関連性がないか、または目立つことさえありません)。表示されている部分だけをレンダリングすると、Reactはサイドバーのコンテンツが変更されるたびに小さな再レンダリングを行う必要があります。 (これは目立つ時間ではないかもしれません。)

パフォーマンスをテストする場合は、両方を試してみることをお勧めします。しかし、あなたはどちらかといえば間違っていないと思う。

+0

私は再レンダリングがそれを行うのよりリアクションの方法だと思っています。しかし、はい、これは、どのくらい多くの人がタブとデフォルトの接続速度/送信データとを切り替えるかに依存しているようです。 – Mackiavelli

+0

すべてのタブスイッチでサイドバーの情報を取得することをお勧めします。なぜなら、その期間は確実に目立つからです。しかし、データをレンダリングすることなく、要素状態でデータを保持することはできます。 –

関連する問題