Ahora sabemos cómo podemos almacenar y obtener datos, por supuesto, en nuestra aplicación, también podemos editar y eliminar datos.
Así que asegurémonos de que esto funcione también y para eso,
volveré a mis acciones y allí, en el archivo de acciones de productos, tenemos nuestro creador de acciones de productos de actualización aquí.
Ahora, al igual que antes, ahora cambiaré esto para devolver el envío asíncrono y
luego, al final, allí, enviar esta acción aquí, así que muévala allí y llame a la función de envío aquí que recibimos a
través de Redux Thunk y antes de
nosotros. hacer eso, ahora podemos comunicarnos con el servidor y actualizar nuestros datos allí.
Ahora que será bastante simple, podemos volver a usar la sintaxis de create product, esto aquí, por lo que solo la solicitud
de búsqueda solo debería ser suficiente aquí y hacerlo antes de enviar, gracias a esperar esperaremos esto porque esta función de
envío es invisible se envuelve en el bloqueado que pertenece a esta promesa, pero necesitamos
ajustar esta solicitud,
la URL, por ejemplo, no es del todo correcta, apunta al producto pero ahora queremos apuntar a un
producto específico, el único producto que queremos actualizar. Por lo tanto, usaré una sintaxis Javascript
diferente aquí con marcas de retroceso en lugar de comillas simples, que todavía crean una cadena
pero una cadena donde puedo inyectar fácilmente datos dinámicos y agregaré un nuevo segmento después de los productos anteriores. json y ahora podemos inyectar datos con esta sintaxis $ \ y eso es Javascript vainilla,
no es específico de React Native, es solo Javascript y aquí quiero agregar mi
ID, para que al final apunte a esta URL, luego al nodo de productos y luego esta identificación. Por supuesto, si está utilizando una API diferente, entonces Firebase las URL a las que debe enviar su
solicitud serán diferentes, entonces debe tener una
documentación de la API que le indique qué URL son aceptadas o si está
escribiendo su propia API, entonces usted definitivamente debería saber dónde puede enviar solicitudes. Así es como Firebase lo quiere y el método ahora para actualizar también no
debe publicarse sino parchearse o colocarse. Put anulará completamente el recurso con
los nuevos datos, el parche lo actualizará en los
lugares donde usted le indique que lo actualice y eso es lo que quiero aquí. También necesito agregar mis encabezados y ahora también agregar un cuerpo con el título, la descripción y la imagenUrl
pero, por supuesto, no con el precio porque no estamos
obteniendo esto y no queremos tocar esto y esto enviará la solicitud
donde Firebase solo cambiará automáticamente estos campos en el producto con esta ID a la que nos dirigimos. Ahora en realidad no necesito almacenar la respuesta de forma constante porque de todos
modos no me importa, es importante
que esperemos a que esto se complete y con eso, deberíamos ser buenos. Si ahora guardamos eso y vamos aquí a administrador y comenzamos a editar esto y tal vez agreguemos
un signo de exclamación aquí y luego importante, haga clic en otro lugar para
que esto se vuelva a activar debido a nuestra lógica de formulario y envíe sus nuevos datos y luego haga clic en esta marca
de verificación, nos llevan de regreso y vemos una camisa blanca aquí, también vemos esto en Firebase, así que esto está funcionando. Así es como podemos actualizar los datos, ahora ¿qué pasa con la eliminación? Para esto volvamos a nuestras acciones y para eliminar, tenemos nuestro
creador de acciones. Ahora, al igual
que antes, aquí regresé como una función
asincrónica que se despacha como argumento y, en esta función, al final despachamos esta acción
que llega a nuestro reductor y antes de llegar a eso, podemos enviar nuevamente una solicitud. Solicitud que se ve así, copiaré esta parte aquí, no me importa la respuesta
realmente, así como así, aguarde la búsqueda. Ahora, la URL es incorrecta, al igual que para la actualización, quiero agregar
mi ID allí, por lo tanto, usaré ticks de retroceso para
poder usar esta sintaxis de inyección nuevamente y agregar la ID del producto aquí, enviar una solicitud de eliminación y ganamos
No es necesario establecer un encabezado porque tampoco tendremos un cuerpo, por lo que podemos deshacernos de todo eso, solo el
método es importante y que esperamos y, por lo tanto, ahora también deberíamos poder eliminar los datos. Podemos echar un vistazo rápido a esto, si creo un nuevo producto ficticio que puedo eliminar fácilmente sin
perder demasiado, así, si lo guardo, si hago clic
en Eliminar aquí, haga clic en Sí, se fue aquí y también lo vimos durante una fracción de segundo aquí, también se eliminó en Firebase. Así es como también podemos actualizar
y eliminar.