Hlavním problémem je, když se pokoušíte analyzovat obsah JSON,
JSON.parse(post.paragraph)
obsah není definován. Proto se vám zobrazuje chyba. Obsah byste neměli vykreslovat, dokud nejsou načtena data. Můj konkrétní problém byl následující:
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>
);
}
V tomto kusu kódu volám asynchronní dotaz prostřednictvím klienta apollo. Při vykreslování se mi však zobrazila stejná chyba jako u vás. Poté jsem přidal následující kód, abych počkal, až se načtou data. Po načtení dat se spustí hák a znovu vykreslí komponentu.
if (loading) return (<>{"loading..."}</>);