我已經在 Next js 中設定了基本路由器,我希望多個頁面共享一個組件,例如標題。共享組件在每次新頁面加載時重新加載。(如何)我可以重用組件而不會在頁面加載之間不必要地重新渲染它們?與 CRA react-router 嵌套路由消除了對任何形式的共享組件的要求相比,這確實是低效的。
山多士在這里
共享組件代碼如下:
import React, { memo } from "react";
export default function hello() {}
export const Header = memo(() => {
return (
<>
<h1>Next js Shared component</h1>
<p>{Math.random()}</p>
</>
);
});
我曾嘗試在備忘錄中包裝一個通用組件以避免重新渲染,但這不起作用。有沒有辦法在 Next JS 中的頁面之間共享組件?
uj5u.com熱心網友回復:
您可以像Headerinside一樣放置共享組件_app.js,并從其他組件中洗掉,如下所示:
// /pages/_app_.js
import React from "react";
import { Wrapper, Header } from "../common";
const MyApp = ({ Component, pageProps }) => {
return (
<>
<Wrapper>
<Header/>
<Component {...pageProps} />
</Wrapper>
</>
);
};
export default MyApp;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/398183.html
