MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Draft.js - Es konnten keine Daten aus der Datenbank abgerufen werden. Ursprungsübergreifender Fehler

Das Hauptproblem ist, wenn Sie versuchen, den JSON-Inhalt zu parsen,

JSON.parse(post.paragraph)

der Inhalt ist undefiniert. Deshalb bekommst du den Fehler. Sie sollten den Inhalt nicht rendern, bis die Daten geladen sind. In meinem speziellen Problem war folgendes:

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>
);
}

In diesem Codestück rufe ich eine asynchrone Abfrage über den Apollo-Client auf. Beim Rendering-Aufruf erhielt ich jedoch den gleichen Fehler wie bei Ihnen. Dann habe ich den folgenden Code hinzugefügt, um zu warten, bis Daten geladen sind. Nachdem die Daten geladen wurden, wird der Hook ausgelöst und die Komponente erneut gerendert.

    if (loading) return (<>{"loading..."}</>);