StaticQuery vs. useStaticQuery
Clase 27 de 33 • Curso de Desarrollo de Aplicaciones Web con Gatsby JS
Contenido del curso
Preparando el entorno
Fundamentos de Gatsby
Creando la vista con React
Graphql en Gatsby
Usando plugins en Gatsby
Stripe checkout
Generando páginas programáticamente
- 24

Creando páginas en función de los datos
08:57 min - 25

Manejo de Gatsby Templates
13:39 min - 26

Terminando la Vista de Detalle de los Productos
05:58 min - 27

StaticQuery vs. useStaticQuery
Viendo ahora - 28

Construyendo el Carrito de Compras: useContext
08:18 min - 29

Construyendo el Carrito de Compras: Vista
09:22 min - 30

Construyendo el Carrito de Compras: Agregar productos al carrito
08:44 min - 31

Comprando productos
08:34 min
Gatsby a producción
Diferencias entre consultas a GraphQL desde páginas, con StaticQuery o useStaticQuery:
Las páginas de Gatsby (los archivos de la carpeta src/pages) nos permiten hacer consultas a GraphQL. Debemos exportar la propiedad query con el esquema de nuestra consulta y esto nos permitirá recibir los datos como props en el componente que exportamos en esa misma página.
Por ejemplo:
export const query = graphql` query GET_DATA { # ... } ` export default ({ data }) => { console.log(data); return /* ... */; }
Pero esta sintaxis solo funciona en las páginas de Gatsby. Si necesitamos hacer consultas desde algún otro componente de nuestra aplicación podemos usar el componente StaticQuery.
Solo debemos escribir la consulta en la propiedad query para recibir la información desde la propiedad render:
<StaticQuery query={graqhql` query { # ... `} render={data => { console.log(data); return <AnyOtherComponent data={data} />; }} />
También podemos usar el hook useStaticQuery: funciona igual que StaticQuery pero nos permite usar la sintaxis de los hooks:
const data = useStaticQuery( graphql` query { # ... } ` )