DataTableEmpezar
Dos tablas en una página
Prefijos de parámetros para que cada tabla viva en la URL sin pisarse.
Dos tablas que comparten URL chocarían (¿de quién es ?page=2?). La solución es paramPrefix: cada tabla usa sus propias claves.
// Tabla de categorías
useSmartTable({
fetchPage: fetchCategories,
paramPrefix: "cat_",
});
// Tabla de artículos
useSmartTable({
fetchPage: fetchArticles,
paramPrefix: "articles_",
});Resultado: ?cat_page=2&cat_sortBy=name&articles_page=5 — cada tabla pagina, ordena y busca por su cuenta. En la view, el mismo prefijo:
const catParams = parseTableSearchParams(params, { paramPrefix: "cat_" });
const artParams = parseTableSearchParams(params, { paramPrefix: "articles_" });Filtros compartidos entre las dos tablas
Si un mismo panel de filtros afecta a ambas (como en fesa.com.pa), guarda los valores en un
estado + ref compartido y, al cambiar, llama resetAndRefetch() en los dos refs. Receta
completa: filtros con selects propios.