MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Draft.js - Impossibile ottenere i dati dal database. Errore di origine incrociata

Il problema principale è quando provi ad analizzare il contenuto JSON,

JSON.parse(post.paragraph)

il contenuto è indefinito. Ecco perché stai ricevendo l'errore. Non dovresti eseguire il rendering del contenuto finché i dati non vengono caricati. Nel mio problema particolare era il seguente:

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 questo pezzo di codice, sto chiamando una query asincrona tramite il client Apollo. Tuttavia, durante la chiamata di rendering, ricevevo lo stesso errore del tuo. Quindi, ho aggiunto il seguente codice, per attendere il caricamento dei dati. Dopo che i dati sono stati caricati, l'hook viene attivato e viene eseguito il rendering del componente.

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