Y honestamente, este patrón ha sido genial. Hay bordes como ves aquí. Aunque teníamos estas múltiples cosas bajo slash dashboard, queríamos que dashboard como la ruta fuera diferente de un ID dado dentro de ella. Porque cuando vamos a mi dashboard, queríamos que todas estas diferentes partes se comportaran de manera diferente desde el nivel superior aquí. Queríamos mostrar el selector para que pudieras cambiar organizaciones y cosas con una diferente navegación superior aquí. Queríamos que las cosas dentro fueran diferentes. Queríamos este componente aquí, queríamos otros comportamientos adicionales y demás.
Para hacer eso, tuvimos que tener dos diseños diferentes. Y necesitamos asegurarnos de que este no se aplicara cuando queríamos que este se aplicara. Para hacer eso, tienes que usar la sintaxis especial para extraer cosas de la ruta. Así que los paréntesis son invisibles. Significa que esto es efectivamente si solo hicieras el slash, y luego el que tiene los corchetes, eso es un valor que puedes tomar ahora. Así que si voy a page TSX aquí, puedes ver que tengo app ID como una propiedad que se pasa como un parámetro. Y ahora que tengo esto pasando aquí, puedo usarlo para cosas. En este caso, tengo un enlace para ello. Estoy seguro de que hay muchos otros lugares donde usamos esto más Oh, app outdated SDK es props que app ID.
Y así de fácil es hacer la obtención de datos, lo cual honestamente, podemos entrar ahora en el hecho de que si necesito acceder a algo como una base de datos rápidamente, es tan simple que es hilarante. Así que este código app tiene SDK obsoleto, lo que está haciendo es verificar para ver qué versión del SDK usaste en tu carga de archivo más reciente para ver si está desactualizada. Dado que este es un tutorial antiguo, las cosas que estábamos usando obviamente están desactualizadas. Así que está recomendando que actualicemos a la última versión. Y lo hace ejecutando esta función donde obtenemos la versión del SDK para la app, que es solo una llamada directa a la base de datos, por cierto, luego obtenemos la última versión de upload thing que está verificando desde el registro npm, incluso podríamos almacenar esto en caché de manera bastante trivial para hacer las cosas aún más rápidas.
Y luego si la versión está desactualizada, lo cual sabemos después de comparar estos para asegurarnos de que la nueva versión que tienes está dentro de la más nueva. De lo contrario, devolvemos esta advertencia, incluso tenemos el simple return null aquí, esto es solo tu componente habitual. Pero dado que esto se ejecuta en el servidor, podemos llamar cosas del servidor como esta directamente. Y si esto devuelve null, entonces simplemente no obtienes nada de vuelta en el lado del cliente, no hay penalización aquí en absoluto. Este JavaScript no sobrecarga el cliente, el usuario obtiene esto efectivamente no existe, lo cual es mágico. Es tan genial que podrías escribir teóricamente, código súper complejo aquí que solo se monta si ese componente lo devuelve, y puedes simplemente ejecutar lógica para asegurarte de que no lo haga estos patrones de obtención de datos no se han vuelto obsoletos, todavía se siente mágico cada vez que puedes simplemente await y obtener información de la app, que es solo esta llamada a la base de datos. Es tan genial que en un componente, puedes simplemente await datos.
Y si no tienes lo que quieres, simplemente devuelve null, simplemente hace que todo sea mucho más simple. Y hemos encontrado que esta simplicidad absolutamente escala, no escala en el sentido de que nunca tendrás complejidad de nuevo.
Comments