lazy loading
InstarCloneに通っている
Lazyは怠け者の意味ですが、プログラミングには異なる意味があります.最小の努力で最大の効率を楽しむという概念で見たほうがいい.
Lazyという言葉は以前、バニラjsのjsnerで遅延評価をどのようにするかを学んだときに聞いたことがあります.
たとえば,1から無限に増加する無限関数がある.このとき,先に述べた5の倍数を2個だけ抽出すると
無限に増加した関数は1から10の数字しか生成されず、停止します.このように,必要に応じて作成し,必要に応じて送信することは,遅延評価といえる.ちなみに5代目の倍数を使ったコードは以下の通りです
事前に100個の要素を作って、待たないでください.
Wikipediaでは、次のような遅延評価が定義されています.
結果値を計算する方法が必要になるまで計算を遅延します.
では、反応器のlazyはどんな概念として使われるのでしょうか.
コンポーネントを事前に読み込み、ビームに追加する従来の方法とは異なり、レンダリング時にのみ読み込まれ、ビームに追加されます.
これにより、non-sential codeをツリー型に振動させ、バンドルファイルを減らすことができます.束ファイルが減少すると、ロード速度が速くなり、UXが改善されます.
すなわち、コアは
コードを見て
遅延負荷要素は、
これにより、パフォーマンスの最適化方法が再び習得されました.
https://reactjs.org/docs/code-splitting.html#reactlazyを参照
Lazyは怠け者の意味ですが、プログラミングには異なる意味があります.最小の努力で最大の効率を楽しむという概念で見たほうがいい.
Lazyという言葉は以前、バニラjsのjsnerで遅延評価をどのようにするかを学んだときに聞いたことがあります.
たとえば,1から無限に増加する無限関数がある.このとき,先に述べた5の倍数を2個だけ抽出すると
[5,10]
となる.無限に増加した関数は1から10の数字しか生成されず、停止します.このように,必要に応じて作成し,必要に応じて送信することは,遅延評価といえる.ちなみに5代目の倍数を使ったコードは以下の通りです
// 제너레이터는 function키워드 뒤에 *가 붙고, yield라는 키워드를 이용해 값을 저장한다.
function* GenerateNum(num) {
let i = 1;
while (i < n) {
yield i++;
}
}
function fiveArr(iter) {
const res = [];
for (const item of iter) {
if (item % 5 === 0) {
res.push(item);
} else if (res.length === 2) {
break;
}
}
return res;
}
fiveArr(GenerateNum(100)); // [5,10]
この場合,GenerationNumにどれだけの数を加えても所要時間は同じである.GenerateNumは、fiveArがiterリクエスト値を通過した場合にのみ返されるためです.事前に100個の要素を作って、待たないでください.
Wikipediaでは、次のような遅延評価が定義されています.
結果値を計算する方法が必要になるまで計算を遅延します.
では、反応器のlazyはどんな概念として使われるのでしょうか.
コンポーネントを事前に読み込み、ビームに追加する従来の方法とは異なり、レンダリング時にのみ読み込まれ、ビームに追加されます.
これにより、non-sential codeをツリー型に振動させ、バンドルファイルを減らすことができます.束ファイルが減少すると、ロード速度が速くなり、UXが改善されます.
すなわち、コアは
필요할 때만 가져온다
である.React.lazy
は動的導入技術を採用している.また、lazyのimport素子がレンダリングされる場合にのみ、ビームに含まれます.コードを見て
import React from 'react';
const OtherComponent = React.lazy(() => import('./OtherComponent'));
この場合、Other ComponentはPromise
オブジェクトを返し、使用時にOther Componentとして解析されます.遅延負荷要素は、
Suspense
要素内で使用することができる.import React, { Suspense } from 'react';
const OtherComponent = React.lazy(() => import('./OtherComponent'));
function MyComponent() {
return (
<div>
<Suspense fallback={<div>Loading...</div>}>
<OtherComponent />
</Suspense>
</div>
);
このまま.このとき、Suspenseのfallback propは、不活性ロード時に短いギャップを生じ、ロード画面のように解放できる素子を出力する.これにより、パフォーマンスの最適化方法が再び習得されました.
https://reactjs.org/docs/code-splitting.html#reactlazyを参照
Reference
この問題について(lazy loading), 我々は、より多くの情報をここで見つけました https://velog.io/@yhko1992/lazy-loadingテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol