Digamos que tienes el siguiente código:
//App.js //logoutHandler function defined here function App { const testContext = React.createContext({ isLoggedIn: false, onLogout: logoutHandler }) return ( <testContext.Provider> //Some code with components </testContext.Provider> ) } Aparte del hecho de que los valores en la propiedad de valor anulan los valores predeterminados, ¿es esto diferente a establecer la propiedad de valor en testContext como:
//App.js //logoutHandler function defined here function App { return ( <testContext.Provider value = {{ isLoggedIn: false onLogout: logoutHandler }} > //Some code with components </testContext.Provider> }Gracias.
Pasar la propuesta de valor a través del Proveedor es útil de muchas maneras:
Los proveedores se pueden anidar para anular valores más profundos dentro del árbol. Por lo tanto, puede tener diferentes valores para diferentes nodos más profundos en el árbol.
Los consumidores que son descendientes de un Proveedor volverán a renderizar cada vez que cambie la propiedad de valor del Proveedor.
No puede hacer esto con el valor predeterminado. El defaultValue permanece igual y no provoca que se vuelvan a procesar.