En mi aplicación tengo múltiples contextos para administrar y almacenar el estado.
En uno de mis escenarios, he notado que, como tengo un UsersContext (que almacena los datos de los usuarios), no es necesario almacenar los datos de usuario de cada creador de publicaciones en mi PostsContext , podría ser mejor (para RAM) para simplemente almacene su identificación de usuario y no repita los datos de usuario en él.
He pensado en usar " analizadores " dentro de la lógica de mis reductores antes de almacenar datos , para eliminar los campos innecesarios de cada objeto .
¿Es esta una buena idea/es un patrón común?
El principal problema que noto con este enfoque es: ¿cómo obtener los datos correctamente de ambos contextos? Quiero decir, imagina el siguiente componente:
function Card({ content: { userData, image, description, location, date }) { ... }Si quiero obtener los datos de los contextos, y no de los accesorios, he implementado dos ganchos personalizados (no me importan las memorizaciones en este momento) que consumen un contexto específico:
/* HOOKS FOR GETTING SPECIFIC DATA FROM CONTEXT */ function useUpdatedPostData(postData) { const posts = usePosts(); <-- consume PostsContext return { ...postData, ...posts.getPost(postData.id) <--- Merging with data from context } } function useUpdatedUserData(userData) { const users = useUsers(); <-- consume UsersContext return { ...userData, ...users.getUser(userData.id) <--- Merging with data from context } } /* CONSUMER COMPONENT */ function Card({ content }) { // The main problem: const { image, description, location, date, } = useUpdatedPostData(content); const { username, avatar } = useUpdatedUserData(content.userData); ... }algo que hace que el código sea realmente difícil de leer. ¿Algun consejo?