Estoy creando una aplicación con escaparate, que usa nextJS. Puedo usar accesorios getServerSide mientras cargo una nueva página.
La página contiene muchos componentes, cada uno necesita sus propios datos. Por el momento, estoy colocando todo esto en una matriz de resultados y luego regreso de getServerSideProps, como se muestra a continuación.
export async function getServerSideProps({query}) { let sid = query.shop let promises = [] promises.push(getShopCategories(sid)) promises.push(getShopInfo(sid)) promises.push(offersFromShop(sid)) try { let allPromises = Promise.all(promises) let results = await allPromises; //console.log("Shop Info:", results[1]) return {props: { id: sid, shopCategories: results[0], shopInfo: results[1], offers4u: results[2].products }} } catch(e) { console.error("Failure:", e) return { props: {}} } }Pero de esta manera, tengo que obtener los datos necesarios para todos los componentes de una sola vez. Estaba pensando en cómo permitir que cada subcomponente en la página tenga su propio 'getServerSideProps'. Puedo implementar esto en cada componente, pero no estoy seguro de pasar los parámetros necesarios (como shopId, productId, etc., que habría obtenido en la página principal).
Una forma es usar cookies, de modo que el lado del servidor pueda recoger estos valores. ¿Hay una solución mejor?
getServerSideProps solo está disponible en el componente directo en la page folder
Si desea obtener más datos sobre el subcomponente en la página, considere usar el gancho useEffect o el componenteDidMount para ese trabajo.