Ahora, la gran biblioteca de markdown y resaltado de sintaxis se queda en el servidor, por lo que no se enviará a nuestros clientes, que es exactamente la optimización de rendimiento que estamos buscando. Así que volviendo a nuestro servidor de desarrollo, lo que básicamente logramos es que al mantener todo el árbol de renderizado agnóstico, extrayendo las partes del cliente, podemos renderizar componentes del servidor en lo profundo del árbol. En nuestro caso, eso será la celda. Y esto nos permite mantener el evento on click a nivel de fila. Pero nuevamente, la lógica real del cliente, que agrega el evento on click, está en un componente separado y no interfiere con el árbol de renderizado en absoluto. Y quiero alejarme un poco para mostrarte cómo las diferentes partes de tu componente más grande pueden interactuar entre sí.
Y más específicamente, las diferentes partes del cliente de tu componente pueden interactuar entre sí. Y el ejemplo que he preparado es como hagamos una selección única. Así que tendríamos un código común del cliente, que se encarga de tener solo una fila seleccionada. Cómo abordaría esto es que agregaría un envoltorio del cliente en mi tabla de datos. Así que en la parte superior de mi componente, nuevamente, envolvería mi renderizado predeterminado con él de esa manera. De hecho, crearé el archivo. Y comenzando con una directiva de cliente suelta, esta vez no tuve que clonar mi parte agnóstica porque no estoy agregando nada. Solo lo estoy envolviendo en un contexto. Así que eso sería el contexto de estado. Y mantendría la selección dentro de él.
Envolviendo mis hijos dentro de él, yendo ahora al cliente de fila. Ahora, en lugar de mantener el estado aquí, estaría usando el estado global de mi componente de tabla de datos de esa manera. Y estaré cambiando la selección de única a, de múltiple a única. Necesitaría un ID para esto. Y con este código, deberíamos poder tener selección única. Sí, que se mantiene en nuestro componente más alto, que sería nuestra tabla de datos. Y las diferentes partes del cliente de nuestro complejo árbol de renderizado se comunicarían entre sí sin interferir con el árbol de renderizado real. Así que la parte agnóstica, la parte importante, intenta mantener la mayor parte de tu árbol de renderizado agnóstico. Intenta extraer la funcionalidad del cliente en diferentes archivos, que simplemente envuelven tus partes agnósticas.
Comments