2017-08-09 3 views
0

既存のオブジェクト(DOMおよび仮想DOMオブジェクト)は完全に破棄され、メモリを占有していませんか?ReactJSの再レンダリングとして既存のオブジェクトはどうなりますか?

「状態」と「小道具」を頻繁に変更したり、安全でない場合はReactJSを使用していますが、理解するために質問しています。

+0

状態と小道具を変更することは、基本的にReactアプリケーションが行うことです。 – jmargolisvt

+0

@jmargolisvtはいわかっています。私は質問がまっすぐだったと信じていますが、私に説明させてください。状態ハッシュを変更すると、あなたが知っているようにレンダー機能が再実行されます。レンダリング機能内で多くのコンポーネントを生成した場合はどうなりますか?それらは再生成され、OKです。以前に生成されたものはどうですか?それらはメモリを占有しているか、再レンダリングがパスされるとただクリアされますか?それが問題です。 –

+0

それはそれより複雑です。私はこれがあなたの質問に答えると思う:https://facebook.github.io/react/docs/reconciliation.html – jmargolisvt

答えて

1

リアクトは、DOMを操作するための非常に強力なツールです。コンポーネントには異なるライフサイクルが使用されるため、絶対必要な場合を除いてコンポーネントには触れません。あなたはメモリ管理について心配する必要はありません、あなたは完全に状態を変更することができますし、パフォーマンスを気にせずにアプリで必要な方法を小道具を渡すことができます。

状態は、コンポーネントのライフサイクルを管理するのに役立ちます。状態を変更すると、再レンダリングがトリガーされます。これは、再レンダリングのほとんどが発生するところです。したがって、 "Safe"はReactの州を使用するために、あなたはあなたのコンポーネントを管理するために反応するために使用する必要がある "フィーチャー"です。すべてのことで、パフォーマンスについて心配する必要はありません。何千ものコンポーネントをミリ秒ごとに再描画する完全なゲーム/アプリケーションを作成している場合を除き、Reactがそれを行います。それは私がパフォーマンスについて心配する時です。

関連する問題