2017-05-03 6 views
2

は、数秒間ページをフリーズするはずのcomponentDidMountで行われたajaxコールですか? AJAX呼び出しが完了するまで何かをクリックしたり選択したりすることはできません。約3MBのデータしか取得しません。私は、ページ全体がレンダリングを終了したと思うが、何らかの理由で、日付が取得されている間だけフリーズする。ページをフリーズすることなくreactjsコンポーネントをレンダリングしながら、バックグラウンドでajaxコールを作成します。

これはなぜ起こっているのですか?

+0

これは起こらないはずです。コードを見ることなく、もう助けてはいけません。/ – aw04

+0

これを理解しました。私はそれを取得した直後に多くのデータ処理を行っています – user3226932

+1

ページをフリーズし、バックエンドにデータ処理ロジックを置く必要があります。データを受信して​​UIに表示するだけです。通常、UIで多くの処理を行うのは良い考えではありません –

答えて

0

このような目的でWeb Workerを使用できます。これは別のスレッドで実行されるため、UIの動作は固定されません。

しかし予告:

あなたは、いくつかの の例外を除いて、ワーカースレッド内で好きなコードを実行することができます。たとえば、作業者の内部で からDOMを直接操作することはできません。また、 windowオブジェクトのデフォルトのメソッドとプロパティを使用することもできます。しかし、Webソケットを含む ウィンドウの下にある多数のアイテムや、 IndexedDBやFirefox OS専用のデータストアAPIなどのデータストレージメカニズムを使用することができます。詳細はFunctions and classes available to workersを参照してください。

関連する問題