首页 > 解决方案 > 在函数中动态导入时,下一个 js 服务器端渲染不起作用

问题描述

我尝试在我的下一个 js 项目中实现动态导入

import dynamic from 'next/dynamic'
import Link from 'next/link'

import { GetStaticProps, GetStaticPaths, GetServerSideProps } from 'next'

function getRandomInt(max) {
  return Math.floor(Math.random() * Math.floor(max));
}


export const getServerSideProps: GetServerSideProps = async (context) => {
    return {
        props: { 'type': getRandomInt(3) + 1 ,
        }
    }
}

function Home({ type }) {
    const BodyDefault = dynamic(() => import(`components/${type}/a`));
    return (
        <div>
            <BodyDefault></BodyDefault>
            <Link href="/other">
                go to other
            </Link>
        </div>
    )
}

export default Home

它运行良好,但服务器端渲染不起作用!

(我检查了当在 chrome 中显示页面源时)

用服务器端道具改变动态导入组件是不可能的吗?

谢谢

标签: next.jsserver-side-rendering

解决方案


推荐阅读