next superjson plugin
v0.6.1
export default function Page ( { date } ) {
return < div > Today is { date . toDateString ( ) } </ div > ;
}
// You can also use getInitialProps, getStaticProps
export const getServerSideProps = ( ) => {
return {
props : {
date : new Date ( ) ,
} ,
} ;
} ; // Use "data-superjson" attribute to pass non-serializable props to client components
// No needs to change the propsType of Client Component (It's type-safe!)
export default function ServerComponent ( ) {
const date = new Date ( ) ;
return < ClientComponent date = { date } data-superjson /> ;
}data-superjson pour le composant serveur> Sérialisation des composants du client. Installez les packages en premier:
npm install superjson next-superjson-plugin
# or Yarn
yarn add superjson next-superjson-plugin Ajouter le plugin dans next.config.js
// next.config.js
module . exports = {
experimental : {
swcPlugins : [ [ "next-superjson-plugin" , { } ] ] ,
} ,
} ; Vous pouvez utiliser l'option excluded pour exclure les propriétés spécifiques de la sérialisation.
[ 'next-superjson-plugin' , { excluded : [ "someProp" ] } ] , séquenchestre
participant suivant.js
Plugin SWC participant
Participant Superjson
Next.js - >> Plugin SWC: transformée de demande
Plugin SWC - >> Plugin SWC: Transformer les pages / composants <br> Pour utiliser Superjson
Plugin SWC - >> next.js: Prenez des modules
Next.js -> Superjson: connecté
Next.js - >> Superjson: sérialiser les accessoires <br> (date, bigint, set, map ..)
Remarque sur le plugin SWC: getInitialProps <br> getServersIDEPROPS <br> GetStaticProps <br> Composants du serveur
Superjson - >> next.js: désérialiser les accessoires
Remarque sur le plugin SWC: pages <br> Composants du client
Le plugin garantit toujours la compatibilité avec la version canari suivante.
Laisser un problème