Creo que todo seria super bonito si hacen que la api de platzi sea solo de productos serios y no de cosas raras jajsjaj
Cómo presentar pruebas técnicas con React.js
Prueba técnica para React.js Developers
Setup del proyecto con React y Vite
Issues a resolver para completar la prueba
Solución de la prueba
Code review: LocalStorage en React.js
Code review: Vistas Dinámicas para el SignIn
Code review: React Context y FormData
Code review: Protección de Rutas
Code review: Entregando la Prueba
Próximos pasos
¿Migramos a Next.js?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Estefany Aguilar
Aportes 12
Preguntas 4
Creo que todo seria super bonito si hacen que la api de platzi sea solo de productos serios y no de cosas raras jajsjaj
Hermoso como tenes todo acomodado y paso a paso! Me encanta el curso ♥
Justo como se esta usando la variable sign-out de localStorage y como ya se hizo la maqueta del SignIn, aproveche de colocar una funcion muy similar a la de handleSignOut, llamada handleLogIn en el boton de LogIn, para no tener que estar eliminando la variable desde el LocalStorage en el navegador.
En primer lugar, importe el Context, el elemento Link de react-router-dom y el contexto
import { useContext } from 'react'
import { Link } from 'react-router-dom'
import { ShoppingCartContext } from '../../Context'
Luego, dentro de SignIn, cree la funcion para gestionar el logIn
const handleLogIn = () => {
const stringifiedSignOut = JSON.stringify(false)
localStorage.setItem('sign-out', stringifiedSignOut)
context.setSignOut(false)
}
y posteriormente, le asigne esta funcion al evento click del boton de LogIn
<button
onClick={()=>handleLogIn()}
>
Log in
</button>
Voy dejando mi vista
Yo realize la funcion de initialStorage en context de la siguiente manera, me parece que se ve mas legible y evitamos la repeticion de codigo.
export const initializeLocalStorage = () => {
const accountInLocalStorage = localStorage.getItem('account');
const singOutInLocalStorage = localStorage.getItem('sing-out');
let parsedAccount;
let parsedSingOut;
if (!accountInLocalStorage || !singOutInLocalStorage) {
localStorage.setItem('account', JSON.stringify({}));
localStorage.setItem('sing-out', JSON.stringify(false));
parsedAccount = {};
parsedSingOut = false;
} else {
parsedAccount = JSON.parse(accountInLocalStorage);
parsedSingOut = JSON.parse(singOutInLocalStorage);
}
};
![](
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?