#javascript #reactjs #next.js #markdown #remarkjs
#javascript #reactjs #next.js #markdown #remarkjs
Вопрос:
Я получаю эту ошибку
Error: Error serializing `.remarkBody` returned from `getStaticProps` in "/blog/[slug]".
Reason: `undefined` cannot be serialized as JSON. Please use `null` or omit this value.
при попытке запустить это:
const body = blogPostCollection ? blogPostCollection?.items[0]?.body : ''
const remarkBody = remark().use(strip).process(body, (err, file) => {
if (err) throw err
String(file)
})
return {
props: {
remarkBody: remarkBody,
},
revalidate: 1
}
Может ли кто-нибудь помочь мне с этим?
Ответ №1:
Возможно, вы можете использовать следующее обходное решение, чтобы обойти эту проблему:
export const getStaticProps = async (ctx) => {
const remarkBody = await getPropsFromAService()
return { props: JSON.parse(JSON.stringify(remarkBody)) }
}
Ответ №2:
Вы не можете передать undefined
возвращенный props
from getStaticProps
. Вместо этого вы можете попробовать установить значение по умолчанию null
, когда это произойдет.
return {
props: {
remarkBody: remarkBody ?? null,
},
revalidate: 1
}