MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Draft.js - Não é possível obter dados do banco de dados. Erro de origem cruzada


O principal problema é quando você tenta analisar o conteúdo JSON,
JSON.parse(post.paragraph)

o conteúdo é indefinido. É por isso que você está recebendo o erro. Você não deve renderizar o conteúdo até que os dados sejam carregados. No meu problema específico foi o seguinte:
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>
);
}

Neste trecho de código, estou chamando uma consulta assíncrona por meio do cliente apollo. No entanto, na chamada de renderização, estava recebendo o mesmo erro que o seu. Em seguida, adicionei o código a seguir, para aguardar até que os dados sejam carregados. Depois que os dados são carregados, o gancho é acionado e renderiza novamente o componente.
    if (loading) return (<>{"loading..."}</>);