Comments 2
А вы пользовались next.js? Ну или смотрели ли их способы решения вышеописанных проблем?
Есть из коробки code-splitting, у них есть своя реализация `React.lazy()`. Большой упор на SSR и нюансы, связанные с ним.
Допустим, есть новый проект (нужен SSR, хорошие показатели загрузки), в чем ваши решения отличаются от `next.js`? Можно ли объединить подходы в некоторых местах?
Есть из коробки code-splitting, у них есть своя реализация `React.lazy()`. Большой упор на SSR и нюансы, связанные с ним.
Допустим, есть новый проект (нужен SSR, хорошие показатели загрузки), в чем ваши решения отличаются от `next.js`? Можно ли объединить подходы в некоторых местах?
`next.js` использует внутри модифицированный `react-loadable` и контролируют процесс разбиения приложения на чанки.
Я давно перестал следить за react-loadable(да он и не меняется), и особо не смотрел в эту часть next.js, но у них должны быть проблемы с stream rendering static CSS, описанные тут.
А насчет обьединения — prerendered-component можно запихнуть в любое приложение, и совместить с любым загрузчиком. Например с React.lazy
Я давно перестал следить за react-loadable(да он и не меняется), и особо не смотрел в эту часть next.js, но у них должны быть проблемы с stream rendering static CSS, описанные тут.
А насчет обьединения — prerendered-component можно запихнуть в любое приложение, и совместить с любым загрузчиком. Например с React.lazy
const PrefetchLazy = lazy => {
let value = PrefetchMap.get(lazy) || lazy._ctor();
PrefetchMap.set(lazy, value);
return value;
);
// using React.lazy
const AsyncLoadedComponent = React.lazy(() => import('./deferredComponent'));
<PrerenderedComponent
live={PrefetchLazy(AsyncLoadedComponent)}
>
<AsyncLoadedComponent />
</PrerenderedComponent>
Sign up to leave a comment.
React и Code Splitting