主な問題は、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..."}</>);