AntDesign: la fila expandible de la tabla se colapsa al volver a renderizar el componente.
Tengo un componente de React que renderiza una lista de productos. Estoy “consultando al servidor cada 30 segundos” y obteniendo los datos actualizados. Sin embargo, después de cada solicitud, mi componente se vuelve a renderizar y esto hace que mis filas de tabla se colapsen.
Aquí está mi código:
<table sortdirections="{["ascend"," "descend",="" "ascend"]}="" pagination="{false}" columns="{columns}" datasource="{products}" expandable="{{}}"></table>;
davy.ai
Solución:
Para evitar que el componente se vuelva a renderizar y colapse las filas de la tabla después de cada solicitud, podemos usar el método de ciclo de vida
shouldComponentUpdate
.Este método nos permite implementar una lógica personalizada que decide si el componente debe volver a renderizarse o no.
Podemos comparar los datos anteriores y actuales recibidos del servidor y solo volver a renderizar el componente si hay un cambio en los datos.
Así es cómo podemos implementarlo:
En este ejemplo, hemos agregado el método
shouldComponentUpdate
que compara el estado anterior y actual del componente y solo devuelve true si hay un cambio en los datos deproducts
.De esta manera, hemos evitado que el componente se vuelva a renderizar en cada solicitud y solo se actualice la tabla cuando los datos hayan cambiado.