Skip to content

Commit 8711eae

Browse files
committed
8b add new info
1 parent e0b2ec1 commit 8711eae

File tree

1 file changed

+16
-11
lines changed

1 file changed

+16
-11
lines changed

src/content/8/es/part8b.md

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,14 @@ En teoría, podríamos usar GraphQL con solicitudes HTTP POST. A continuación s
1515

1616
![](../../images/8/8x.png)
1717

18-
La comunicación funciona enviando solicitudes HTTP POST a http://localhost:4000/graphql. La consulta en sí es una cadena enviada como el valor de la clave <i>query</i>.
18+
La comunicación funciona enviando solicitudes HTTP POST a <http://localhost:4000/graphql>. La consulta en sí es una cadena enviada como el valor de la clave <i>query</i>.
1919

2020
Podríamos encargarnos de la comunicación entre la aplicación React y GraphQl usando Axios. Sin embargo, la mayoría de las veces no es muy sensato hacerlo. Es una mejor idea utilizar una librería de orden superior capaz de abstraer los detalles innecesarios de la comunicación.
2121

2222
Por el momento hay dos buenas opciones: [Relay](https://facebook.github.io/relay/) por Facebook y [Apollo Client](https://www.apollographql.com/docs/react/). De estos dos, Apollo es absolutamente más popular, y también lo usaremos.
2323

24-
### cliente Apollo
24+
### Cliente Apollo
2525

26-
27-
Cree una nueva aplicación React e instale las dependencias requeridas por [Apollo client](https://www.apollographql.com/docs/react/get-started/#installation).
28-
29-
<!-- Luodaan uusi React-sovellus ja asennetaan siihen [Apollo clientin] (https://www.apollographql.com/docs/react/get-started/#installation) vaatimat riippuvuudet. -->
3026
Crearemos una nueva aplicación React e instalaremos las dependencias requeridas por [Apollo client](https://www.apollographql.com/docs/react/get-started/#installation).
3127

3228
```bash
@@ -109,6 +105,7 @@ ReactDOM.render(
109105
document.getElementById('root')
110106
)
111107
```
108+
112109
### Realización de consultas
113110

114111
Estamos listos para implementar la vista principal de la aplicación, que muestra una lista de números de teléfono.
@@ -420,7 +417,7 @@ mutation createPerson($name: String!, $street: String!, $city: String!, $phone:
420417
<!-- Mutaatioiden tekemiseen sopivan toiminnallisuuden tarjoaa hook-funktio [useMutation] (https://www.apollographql.com/docs/react/api/ react / hooks / # usemutation). -->
421418
La función hook [useMutation](https://www.apollographql.com/docs/react/api/react/hooks/#usemutation) proporciona la funcionalidad para realizar mutaciones.
422419

423-
<!-- Tehdään sovellukseen uusi komponentti uuden henkilön lisämiseen: -->
420+
<!-- Tehdään sovellukseen uusi komponentti uuden henkilön lisämiseen: -->
424421
Creemos un nuevo componente para agregar una nueva persona al directorio:
425422

426423
```js
@@ -558,13 +555,21 @@ const PersonForm = (props) => {
558555
559556
Los pros y los contras de esta solución son casi opuestos a los anteriores. No hay tráfico web extra, porque las consultas no se hacen por si acaso. Sin embargo, si un usuario actualiza ahora el estado del servidor, los cambios no se muestran a otros usuarios inmediatamente.
560557
558+
Si deseas realizar varias consultas, puedes pasar varios objetos dentro de refetchQueries. Esto le permitirá actualizar diferentes partes de su aplicación al mismo tiempo. Aquí hay un ejemplo:
559+
560+
```js
561+
const [ createPerson ] = useMutation(CREATE_PERSON, {
562+
refetchQueries: [ { query: ALL_PERSONS }, { query: OTHER_QUERY }, { query: ... } ] // pass as many queries as you need
563+
})
564+
```
565+
561566
Hay otras formas de actualizar la caché. Más sobre estos más adelante en esta parte.
562567
563568
<!-- Sovellukseen en tällä hetkellä määritelty kyselyjä komponenttien koodin sekaan. Eriytetään kyselyjen määrittely omaan tiedostoonsa <i> queries.js </i>: -->
564569
Por el momento, en nuestro código, las consultas y el componente están definidos en el mismo lugar.
565570
Separemos las definiciones de consulta en su propio archivo <i>queries.js</i>:
566571
567-
```js
572+
```js
568573
import { gql } from '@apollo/client'
569574

570575
export const ALL_PERSONS = gql`
@@ -588,7 +593,7 @@ export const CREATE_PERSON = gql`
588593
<!-- Jokainen komponentti importtaa tarvitsemansa kyselyt: -->
589594
Luego, cada componente importa las consultas que necesita:
590595
591-
```js
596+
```js
592597
import { ALL_PERSONS } from './queries'
593598

594599
const App = () => {
@@ -779,7 +784,7 @@ Para GraphQL esto no es un error, por lo que registrar un controlador de errores
779784
<!-- Voimme generoida virheilmoituksen _useMutation_-hookin toisena parametrina palauttaman mutacion tuloksen kertovan olion _result_ avulla. -->
780785
Podemos usar el campo _result_ devuelto por el hook _useMutation_ como su segundo parámetro para generar un mensaje de error.
781786
782-
```js
787+
```js
783788
const PhoneForm = ({ setError }) => {
784789
const [name, setName] = useState('')
785790
const [phone, setPhone] = useState('')
@@ -854,7 +859,7 @@ Cuando sea necesario, Apollo permite guardar el estado local de las aplicaciones
854859
855860
<div class="tasks">
856861
857-
### Ejercicios 8.8.-8.12.
862+
### Ejercicios 8.8.-8.12
858863
859864
A través de estos ejercicios, implementaremos una interfaz para la librería GraphQL.
860865

0 commit comments

Comments
 (0)