Sobre as aulas de graphql- possivel erro

Boa tarde amigos, alguem que esteja na playlist de GraphQL ou tenha terminado ela, na aula 17, surge a pasta “node” no diretorio do professor e alteraçoes de arquivos que nao existiam na aula 15 e 16, sera que está faltando uma aula entre essas e a 17?

2 Likes

Deve faltar… A aula 16 tem pouco tempo, talvez esteja incompleta

Boa noite Phelipe ,eu estou na aula 9 e vi que vc está a frente estou com um problema a minha página Home e Signin não exibe e no terminal não tem nenhum erro vou mandar meus códigos veja se tem algum erro



2 Likes

@Danilosilva Eu fiquei 1h30 tentando resolver isso também :pensive:

O problema está no arquivo Router.js… mude o seu código para esse aqui abaixo que deve funcionar

import React from 'react';
import { Routes, Route } from 'react-router-dom';
import Home from './pages/Home';
import SignIn from './pages/SignIn';

export default function Router() {
    return (
        <Routes>
            <Route path='/' element={<Home />} />
            <Route path='/sign-in' element={<SignIn />} />
        </Routes>
    );
}
5 Likes

Eu tive uns problema na hora de configurar o pnpm, não sei se é o terminal dele, ou tem alguns cortes no vídeo, lá ele não cria sozinho o node_modules na pasta do server, quebrando a cabeça mais com isso do que com já conceitos

1 Like

Isso aí, @fernando.vargas . @Danilosilva , a explicação para isso é a seguinte:

Na nova versão do react-router-dom, o atributo 'path' não aceita mais vetores, apenas strings. Portanto, ao passar o valor para o path, você pode fazer como o Fernando fez, ou então gerar um loop para iterar dentro de um vetor incluindo os dois caminhos apontados pelo instrutor ('' e '/').

Nesse caso, para o código responder a todas as possibilidades, inclua também a linha:

<Route path="" element={<Home />} />

Espero ter ajudado!

2 Likes

@Phelipe_Lima tive o mesmo problema e consegui resolver da seguinte forma…

# 1 - Criar uma pasta “Node” dentro de packages/server/src/graphql
# 2 - Criar um arquivo Node.js dentro dessa pasta com o seguinte código:

import { gql } from 'apollo-server-express';

export const typeDefs = gql`

  interface Node {
    id: ID!
  }
`;

export const resolvers = {
  Node: {
    __resolveType: () => null,
  },
};

# 3 - atualizar o código do arquivo typeDefs.js para este abaixo:

import { typeDefs as clientTypeDefs } from "./Client/Client";
import { typeDefs as demandTypeDefs } from "./Demand/Demand";
import { typeDefs as nodeTypeDefs } from './Node/Node';
import { gql } from 'apollo-server-express';

const typeDefs = gql`
    type Query {
        _root: String
    }

    ${nodeTypeDefs}
    ${clientTypeDefs}
    ${demandTypeDefs}
`;

export default typeDefs;

# 4 - atualizar o código do arquivo resolvers.js para este abaixo:

import { resolvers as demandResolvers } from "./Demand/Demand";
import { resolvers as nodeResolvers } from './Node/Node';

const resolvers = {
    ...nodeResolvers,
    ...demandResolvers,

    Query: {
        ...demandResolvers.Query
    },
};

export default resolvers;
15 Likes