MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Draft.js - Impossible d'obtenir les données de la base de données. Erreur d'origine croisée

Le principal problème est lorsque vous essayez d'analyser le contenu JSON,

JSON.parse(post.paragraph)

le contenu n'est pas défini. C'est pourquoi vous obtenez l'erreur. Vous ne devez pas restituer le contenu tant que les données ne sont pas chargées. Dans mon problème particulier était le suivant :

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

Dans ce morceau de code, j'appelle une requête asynchrone via le client apollo. Cependant, lors de l'appel de rendu, j'obtenais la même erreur que la vôtre. Ensuite, j'ai ajouté le code suivant, pour attendre que les données soient chargées. Une fois les données chargées, le hook est déclenché et restitue le composant.

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