Dynami c Импорт на основе getServerSideProps в Nextjs - PullRequest
0 голосов
/ 27 мая 2020

Я бы очень признателен за направление для решения этой проблемы. В Next js я хотел бы импортировать компонент Dynami c на основе props.page.type, полученного из getServerSideProps. Мой код ниже:

import { getPageBySlug } from '../../utils/pagesApiHelper'
import dynamic from 'next/dynamic'

// this is what I need to be dynamic and the way it is written below doesn't work:
const Content = dynamic(() => import(`../../components/${props.page.type}`))

const Page = ({ page }) => {
    return (
        <div>
            <h1>Some Title</h1>
            <Content />
        </div>
    )
}

export const getServerSideProps = async ({ params: { slug } }) => {
    const page = await getPageBySlug(slug)

    return {
        props: {
            page: page
        }
    }
}

export default Page

Следующий код работает, НО он не отображается на стороне сервера, что мне нужно:

const Page = ({ page }) => {
    const Content = dynamic(() => import(`../../components/${page.type}`))
    return (
        <div>
            <h1>Some Title</h1>
            <Content />
        </div>
    )
}
Any ideas are greatly appreciated. Thanks in advance!
...