O principal problema é quando você tenta analisar o conteúdo JSON,
JSON.parse(post.paragraph)
o conteúdo é indefinido. É por isso que você está recebendo o erro. Você não deve renderizar o conteúdo até que os dados sejam carregados. No meu problema específico foi o seguinte:
const BlogPostPage: React.FC<MatchProps> = (props: MatchProps) => {
const classes = useStyles();
const { data, loading, error } = useGetBlogQuery({
variables: {
id: props.match.params.id
}
});
return (
<BlogPostContent markdown={data?.blog?.contentJson}></BlogPostContent>
);
}
Neste trecho de código, estou chamando uma consulta assíncrona por meio do cliente apollo. No entanto, na chamada de renderização, estava recebendo o mesmo erro que o seu. Em seguida, adicionei o código a seguir, para aguardar até que os dados sejam carregados. Depois que os dados são carregados, o gancho é acionado e renderiza novamente o componente.
if (loading) return (<>{"loading..."}</>);