Основният проблем е, когато се опитвате да анализирате JSON съдържанието,
JSON.parse(post.paragraph)
съдържанието е недефинирано. Ето защо получавате грешката. Не трябва да изобразявате съдържанието, докато данните не се заредят. В моя конкретен проблем беше следното:
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>
);
}
В тази част от кода извиквам асинхронна заявка през клиента на apollo. При обаждането за изобразяване обаче получавах същата грешка като вашата. След това добавих следния код, за да изчакам, докато данните се заредят. След като данните се заредят, куката се задейства и повторно изобразява компонента.
if (loading) return (<>{"loading..."}</>);