<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://sergiodxa.com/</loc><lastmod>2026-03-11T04:48:41.144Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles</loc><lastmod>2026-02-20T06:40:28.300Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials</loc><lastmod>2026-03-06T17:12:29.513Z</lastmod></url>,<url><loc>https://sergiodxa.com/bookmarks</loc><lastmod>2026-03-11T04:48:41.144Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/react-router-loaders-and-actions-as-integration-points</loc><lastmod>2026-02-20T06:40:28.300Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/how-architecture-patterns-shape-development</loc><lastmod>2025-10-04T05:26:12.047Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/oauth2-access-token-claims-explained</loc><lastmod>2025-03-19T23:30:58.839Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/oauth2-scopes-explained</loc><lastmod>2025-03-13T21:47:20.214Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/oauth2-tokens-explained</loc><lastmod>2025-03-10T15:13:42.766Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/oauth2-audience-explained</loc><lastmod>2025-03-10T04:09:54.891Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/jwt-vs-opaque-tokens</loc><lastmod>2025-03-09T23:23:40.342Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/oauth2-for-backend-for-frontend</loc><lastmod>2025-03-04T23:51:25.299Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/throwing-vs-returning-redirects-in-react-router</loc><lastmod>2025-02-25T05:10:12.370Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/making-web-component-good-enough</loc><lastmod>2024-09-30T23:44:50.297Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/on-frontend-vs-backend</loc><lastmod>2024-06-19T09:06:58.906Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/when-to-use-route-modal-in-react-router</loc><lastmod>2024-06-16T06:30:40.928Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/throwing-vs-returning-responses-in-remix</loc><lastmod>2022-10-14T16:09:14.026Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/optional-route-segments-with-remix</loc><lastmod>2022-09-26T16:56:48.880Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/dependency-injection-in-remix-loaders-and-actions</loc><lastmod>2022-07-19T22:26:38.225Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/using-zod-to-safely-read-env-variables</loc><lastmod>2022-06-23T21:30:31.193Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/working-with-refresh-tokens-in-remix</loc><lastmod>2022-06-03T16:03:56.004Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/e2e-test-remix-with-vitest-and-puppeteer</loc><lastmod>2022-05-16T22:42:56.927Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/multiple-forms-per-route-in-remix</loc><lastmod>2022-04-14T08:35:32.282Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/building-a-command-palette-with-remix-and-tailwind-ui</loc><lastmod>2022-02-24T23:07:42.117Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/http-vs-server-side-cache-in-remix</loc><lastmod>2021-12-22T19:22:24.334Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/clase-rapida-de-programacion-asincrona</loc><lastmod>2021-12-20T02:50:17.096Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/on-demand-hydration-in-remix</loc><lastmod>2021-12-10T23:14:53.981Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/loader-vs-route-cache-headers-in-remix</loc><lastmod>2021-12-02T17:20:54.499Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/the-usematches-hook-in-remix</loc><lastmod>2021-11-30T23:36:29.362Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/validating-remix-forms-with-constraints-api</loc><lastmod>2021-11-26T06:32:51.677Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/result-objects-in-ts</loc><lastmod>2021-11-17T20:32:42.636Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/dark-mode-and-dark-context</loc><lastmod>2021-11-16T05:01:23.837Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/automatic-revalidation-in-remix</loc><lastmod>2021-08-31T17:37:46.555Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/creating-a-pdf-with-react-in-the-browser</loc><lastmod>2021-07-14T17:58:01.069Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/sending-data-from-layout-to-leaf-routes-in-remix</loc><lastmod>2021-06-29T06:19:57.167Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/using-service-workers-with-remix</loc><lastmod>2021-06-29T06:08:42.648Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/localizing-remix-apps-with-i18next</loc><lastmod>2021-06-29T05:53:24.277Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/adding-csrf-protection-to-remix</loc><lastmod>2021-06-28T20:49:49.035Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/server-side-authentication-with-auth0-in-remix</loc><lastmod>2021-06-17T23:12:21.694Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/using-tailwindcss-with-remix</loc><lastmod>2021-06-17T22:13:00.462Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/jest-matchers-for-remix-responses</loc><lastmod>2021-06-01T22:44:26.142Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/using-form-objects-inside-remix-actions</loc><lastmod>2021-06-01T05:51:41.402Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/route-protection-in-remix-with-policies</loc><lastmod>2021-05-27T16:12:11.266Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/que-es-un-bundler-de-js</loc><lastmod>2021-05-07T03:53:50.783Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/remix-vs-next-js-comparison</loc><lastmod>2021-04-26T05:38:21.427Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/how-to-rename-a-column-in-a-rails-migration</loc><lastmod>2021-03-03T16:54:48.238Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/usar-variables-de-entorno-en-next-js</loc><lastmod>2021-02-23T05:24:25.476Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/about</loc><lastmod>2021-01-14T06:04:53.644Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/que-son-server-components-de-react-y-como-se-relacionan-con-ssr-ssg-isr</loc><lastmod>2020-12-23T02:42:09.716Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/pro-tip-name-your-useeffect-functions</loc><lastmod>2020-12-17T20:01:10.548Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/using-mdx-with-remote-content</loc><lastmod>2020-11-23T22:25:06.146Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/todo-lo-que-se-de-swr</loc><lastmod>2020-09-13T10:26:26.350Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/the-states-of-the-ui</loc><lastmod>2020-08-25T00:32:55.879Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/uses</loc><lastmod>2020-08-23T23:53:18.306Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/historia</loc><lastmod>2020-08-18T13:04:37.904Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/why-build-a-non-restful-api</loc><lastmod>2020-08-15T22:49:30.752Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/how-i-work-with-static-assets-in-react-apps</loc><lastmod>2020-08-13T01:43:21.645Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/how-shallow-true-works-in-rails</loc><lastmod>2020-08-11T22:55:18.378Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/swr/use-mutation</loc><lastmod>2020-07-23T08:17:26.188Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/react/estructura-archivos</loc><lastmod>2020-07-16T05:56:01.823Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/react/file-structure</loc><lastmod>2020-07-16T04:37:52.438Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/react/cargando-imagenes-con-suspense</loc><lastmod>2020-07-15T23:07:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/data-aware-components</loc><lastmod>2020-06-24T08:02:46.962Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/collected-notes-ts-client</loc><lastmod>2020-06-20T03:24:14.236Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/using-collected-notes-as-cms</loc><lastmod>2020-06-06T10:21:22.372Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/swr/mutate-immer</loc><lastmod>2020-05-09T02:16:03.019Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/render-as-you-fetch</loc><lastmod>2020-01-23T22:03:45.211Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/next-swr-prefetch</loc><lastmod>2020-01-22T17:40:27.790Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/type-states-client-side-app</loc><lastmod>2020-01-21T05:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/next-tailwind</loc><lastmod>2019-12-26T20:19:09.388Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/swr/suspense</loc><lastmod>2019-11-21T14:30:36.698Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/swr/pagination</loc><lastmod>2019-11-20T14:30:36.698Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/swr/intro</loc><lastmod>2019-11-20T06:13:30.309Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/feature-flags-react</loc><lastmod>2019-10-26T17:45:34.989Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/next-file-structure</loc><lastmod>2019-08-27T22:15:52.620Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/testing-in-next-dynamic-imports</loc><lastmod>2019-08-22T03:14:16.989Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/redirects-in-next-the-good-way</loc><lastmod>2019-08-20T18:20:48.099Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/react-working-with-forms</loc><lastmod>2019-06-19T20:21:42.909Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/react-conditions-lists</loc><lastmod>2019-06-18T17:36:02.578Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/react-state-effects</loc><lastmod>2019-06-15T20:54:54.697Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/introducing-contentz</loc><lastmod>2019-04-23T02:13:19.559Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/career-titles-levels</loc><lastmod>2019-04-09T21:25:19.912Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/contentz-netlify</loc><lastmod>2019-03-21T19:56:31.276Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/contentz-es-omakase</loc><lastmod>2019-03-21T18:33:05.473Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/js-basics/array-prototype-foreach</loc><lastmod>2019-03-12T17:05:27.878Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/crear-modulo-npm</loc><lastmod>2019-03-11T17:12:50.625Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/aplicaciones-web-con-zero-server</loc><lastmod>2019-03-06T04:56:18.723Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/presentando-contentz</loc><lastmod>2019-03-05T21:03:17.909Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/react-prop-especial-children</loc><lastmod>2019-02-26T16:42:36.542Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/componentes-react-hijos-personalizables</loc><lastmod>2019-02-26T16:35:48.047Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/composicion-componentes-react</loc><lastmod>2019-02-26T16:27:49.966Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/tipos-datos-react</loc><lastmod>2019-02-26T16:14:01.492Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/react-props-valores-predefinidos</loc><lastmod>2019-02-26T16:09:40.581Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/componentes-react-personalizables-props</loc><lastmod>2019-02-26T16:04:00.252Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/componentes-con-react</loc><lastmod>2019-02-26T15:58:10.637Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/hola-mundo-react</loc><lastmod>2019-02-26T15:58:06.637Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/cargando-react-cdn</loc><lastmod>2019-02-26T15:57:55.585Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/generador-sitios-estaticos-propio</loc><lastmod>2019-02-25T18:09:56.443Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/automatizacion-shell-scripts</loc><lastmod>2019-02-23T04:41:48.576Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/js-basics/array-prototype-push</loc><lastmod>2019-02-11T15:51:40.696Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/js-basics/array-prototype-filter</loc><lastmod>2019-02-08T17:36:16.380Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/js-basics/array-prototype-map</loc><lastmod>2019-02-07T05:44:51.745Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/generadores-asincronos-js</loc><lastmod>2019-01-30T15:00:00.712Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/carrusel-elementos-dinamicos-react</loc><lastmod>2019-01-29T18:44:19.942Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/scalable-real-time-applications</loc><lastmod>2019-01-11T05:52:01.715Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/aplicaciones-real-time-alta-escala</loc><lastmod>2019-01-06T07:20:33.596Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/react-v-16-6</loc><lastmod>2018-10-24T17:32:04.452Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/introduccion-a-mdx</loc><lastmod>2018-05-09T05:03:59.757Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/documentation</loc><lastmod>2018-01-17T21:18:58.320Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/documentacion</loc><lastmod>2018-01-17T21:18:58.320Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/como-mantenerse-actualizado-con-el-ecosistema-de-javascript</loc><lastmod>2018-01-12T17:53:42.064Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/markdown-react</loc><lastmod>2018-01-06T05:43:35.609Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/an-accessible-approach-to-frontend-testing</loc><lastmod>2017-09-30T00:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/how-to-keep-updated-with-the-javascript-ecosystem</loc><lastmod>2017-08-06T17:26:03.721Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/implementando-un-servidor-de-graphql</loc><lastmod>2017-07-07T15:42:42.778Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/bye-platzi-hi-zeit</loc><lastmod>2017-07-07T04:50:53.214Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/ciclo-de-vida-de-un-componente-de-reactjs</loc><lastmod>2017-07-06T15:31:07.735Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/mezclando-flujos-sincronos-y-asincronos</loc><lastmod>2017-06-23T22:39:48.419Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/introduccion-a-graphql</loc><lastmod>2017-05-29T00:42:30.912Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/que-son-y-como-funcionan-las-promesas-en-javascript</loc><lastmod>2017-03-06T00:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/sobre-el-ecosistema-y-la-fatiga-de-javascript</loc><lastmod>2016-10-10T14:01:02.185Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/combinando-react-y-redux</loc><lastmod>2016-03-28T07:18:42.542Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/introduccion-a-redux</loc><lastmod>2016-03-23T15:52:14.733Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/medium/compilando-frontend-webpack</loc><lastmod>2015-09-28T00:10:28.270Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/medium/i18n-react-formatjs</loc><lastmod>2015-09-27T03:57:35.667Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/medium/introduccion-a-ecmascript-2016-7</loc><lastmod>2015-09-25T00:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/medium/mi-experiencia-como-estudiante-de-los-cursos-de-platzi</loc><lastmod>2015-09-10T00:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/platzi/react-v014</loc><lastmod>2015-07-08T00:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/medium/usando-ecmascript-6-en-tus-tareas-de-gulp</loc><lastmod>2015-06-09T00:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/medium/usando-ecmascript-6-2015-con-babel</loc><lastmod>2015-06-09T00:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/medium/buenas-practicas-del-desarrollo-frontend</loc><lastmod>2015-06-08T00:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/medium/renderizando-react-js-en-el-server-con-express-js-y-react-engine</loc><lastmod>2015-06-01T00:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/platzi/ecmascript-nueva-sintaxis</loc><lastmod>2015-04-24T00:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/cristalab/como-usar-la-etiqueta-template-en-html5</loc><lastmod>2015-01-04T00:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/cristalab/automatizando-tareas-frontend-gulp</loc><lastmod>2014-12-22T00:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/cristalab/uso-de-modulos-en-javascript-con-ecmascript-6</loc><lastmod>2014-11-07T00:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/medium/escribiendo-css-de-la-forma-correcta</loc><lastmod>2014-10-31T00:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/definiendo-conceptos-closures-y-scope</loc><lastmod>2014-07-31T00:19:09.428Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/medium/ventajas-y-desventajas-de-los-pre-procesadores-de-css</loc><lastmod>2014-07-08T00:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/medium/que-es-scrum</loc><lastmod>2014-07-06T00:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/cristalab/el-modulo-flexbox-de-css3</loc><lastmod>2013-12-15T00:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/articles/cristalab/javascript-orientado-a-objetos</loc><lastmod>2013-08-23T00:00:00.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/access-react-router-context-with-asynclocalstorage</loc><lastmod>2026-03-06T17:12:29.513Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/create-a-per-request-database-instance-with-middleware</loc><lastmod>2026-03-03T05:37:11.547Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/create-a-multi-directory-route-organization-in-react-router</loc><lastmod>2026-02-23T23:35:02.029Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-sec-fetch-headers-for-csrf-protection</loc><lastmod>2026-02-23T04:49:51.608Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/dedupe-server-calls-with-remix-utils-batcher</loc><lastmod>2025-10-19T07:14:18.071Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/transform-formdata-between-ui-and-database-in-react-router</loc><lastmod>2025-10-15T04:58:31.796Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/build-a-master-detail-ui-with-react-router</loc><lastmod>2025-10-03T06:42:21.087Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/leverage-react-router-s-built-in-data-deduplication</loc><lastmod>2025-09-25T06:08:18.138Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/redirect-based-on-screen-size-in-react-router</loc><lastmod>2025-08-13T08:18:55.492Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/avoid-waterfalls-in-react-suspense</loc><lastmod>2025-08-12T14:33:41.280Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/handle-deferred-data-in-react-router</loc><lastmod>2025-07-31T20:00:25.542Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-action-routes-in-react-router</loc><lastmod>2025-07-20T07:04:15.357Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/add-a-color-scheme-toggle-in-react-router</loc><lastmod>2025-05-07T05:55:43.659Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/debounce-loaders-and-actions-in-react-router</loc><lastmod>2025-04-14T04:58:58.568Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-client_id-and-client_secret-in-oauth2</loc><lastmod>2025-04-05T00:17:43.326Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-the-oauth2-introspection-endpoint</loc><lastmod>2025-04-02T19:03:39.628Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/revoke-a-refresh-token-in-oauth2</loc><lastmod>2025-04-01T00:02:49.287Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-pkce-in-oauth2-authorization-code-flow</loc><lastmod>2025-03-26T03:26:52.812Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/add-custom-claims-to-jwt-access-tokens</loc><lastmod>2025-03-25T18:03:05.017Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/validate-exp-iat-and-nbf-in-jwts</loc><lastmod>2025-03-25T06:27:23.640Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-scope-to-authorize-actions-in-your-api</loc><lastmod>2025-03-24T04:52:09.888Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/validate-jwts-with-jwks</loc><lastmod>2025-03-24T04:39:27.679Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/create-a-per-request-singleton-with-react-router-middleware</loc><lastmod>2025-03-11T05:34:35.431Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/test-middleware-in-react-router</loc><lastmod>2025-03-10T19:17:05.669Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-middleware-in-react-router</loc><lastmod>2025-03-08T07:43:41.459Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/create-show-a-404-in-react-router</loc><lastmod>2025-03-02T10:11:07.552Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/download-a-file-from-a-react-router-route</loc><lastmod>2025-02-24T06:15:30.655Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-bullet-to-detect-n-1-queries-in-rails</loc><lastmod>2025-02-08T22:30:12.444Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-pandoc-to-convert-a-markdown-to-a-pdf-and-epub</loc><lastmod>2025-02-07T19:32:44.704Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/load-dynamic-stylesheets-in-react-router</loc><lastmod>2025-02-03T05:02:01.525Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/split-routes-config-in-react-router</loc><lastmod>2025-01-15T05:36:05.035Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/configure-the-tracking-branch-in-git</loc><lastmod>2025-01-14T22:45:32.309Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/reuse-route-modules-in-react-router</loc><lastmod>2025-01-13T18:12:37.229Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/populate-your-rails-database-with-fixtures</loc><lastmod>2024-12-18T21:03:28.081Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/stub-a-method-in-a-class-with-minitest</loc><lastmod>2024-09-02T17:49:10.854Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/show-toast-after-a-remix-action</loc><lastmod>2024-08-30T07:39:08.140Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/simplify-component-imports-with-typescript-namespaces</loc><lastmod>2024-07-10T21:34:33.584Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/validate-form-in-remix-with-clientaction</loc><lastmod>2024-06-18T06:26:14.552Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/generate-cloudflare-environment-type-with-wrangler</loc><lastmod>2024-06-18T06:10:40.893Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/configure-scoped-private-packages-in-bun</loc><lastmod>2024-06-18T06:05:06.506Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-package-json-bin-to-create-a-cli</loc><lastmod>2024-03-26T22:01:17.498Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/access-location-state-in-remix-loaders-and-actions</loc><lastmod>2024-03-13T22:39:02.315Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/add-i18n-to-a-remix-vite-app</loc><lastmod>2024-03-08T00:39:07.494Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/autoload-the-correct-node-version-with-nvm</loc><lastmod>2024-03-01T17:12:49.766Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/nest-routes-with-dynamic-params-in-remix</loc><lastmod>2024-02-15T16:52:53.672Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/build-a-simple-login-and-logout-with-remix</loc><lastmod>2024-02-13T05:57:59.736Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/access-remix-s-loader-data-from-a-root-errorboundary</loc><lastmod>2024-02-13T05:35:44.501Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/access-remix-s-loaders-data-in-entry-client</loc><lastmod>2024-02-13T05:25:07.856Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/handle-not-found-urls-with-remix</loc><lastmod>2024-02-10T04:07:57.735Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/persist-the-user-locale-using-cookies-with-remix-i18next</loc><lastmod>2024-02-07T17:16:37.050Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/add-dynamic-canonical-url-to-remix-routes</loc><lastmod>2024-02-04T05:38:01.211Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/add-custom-attributes-to-markdoc-code-fences</loc><lastmod>2024-02-03T05:12:14.806Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/enable-remix-aliased-imports-in-vitest</loc><lastmod>2024-02-02T00:09:44.410Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/add-syntax-highlight-to-markdoc-using-prism-js</loc><lastmod>2024-01-31T00:08:25.706Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/create-a-crud-with-remix</loc><lastmod>2024-01-25T05:04:07.282Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/pass-cookies-from-a-remix-loader-to-an-external-api</loc><lastmod>2024-01-22T06:02:45.327Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/call-an-action-from-a-loader-in-remix</loc><lastmod>2024-01-22T05:57:32.385Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-react-portal-in-remix</loc><lastmod>2024-01-22T05:48:48.404Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/prevent-the-remix-loader-to-run-after-document-request</loc><lastmod>2024-01-22T05:04:15.397Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/defer-a-fetch-response-in-remix</loc><lastmod>2024-01-19T23:39:03.113Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-a-cdn-for-your-static-assets-in-remix</loc><lastmod>2024-01-19T23:32:26.353Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/get-the-absolute-url-in-remix-s-metafunction</loc><lastmod>2024-01-19T23:26:21.628Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/build-an-app-with-remix-and-bun</loc><lastmod>2024-01-19T22:36:30.384Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/find-and-remove-unused-code-with-knip</loc><lastmod>2024-01-18T22:24:28.393Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/create-multiple-top-level-layouts-in-remix</loc><lastmod>2024-01-17T00:15:29.037Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/test-meta-tags-using-playwright</loc><lastmod>2024-01-10T22:47:06.676Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/prefetch-data-for-remix-fetcher-usage</loc><lastmod>2023-12-08T22:31:58.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/keep-your-loader-data-fresh-in-remix</loc><lastmod>2023-12-01T05:35:33.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/expose-remix-routes-as-api-endpoints</loc><lastmod>2023-11-27T18:43:34.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/access-the-search-params-of-a-request-in-remix</loc><lastmod>2023-11-22T23:17:29.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/upload-images-in-remix-apps</loc><lastmod>2023-10-23T23:40:03.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/redirect-with-search-param-in-remix</loc><lastmod>2023-10-06T23:47:03.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/access-loaders-data-in-remix</loc><lastmod>2023-10-05T20:33:52.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/abort-async-calls-inside-remix-loaders-and-actions</loc><lastmod>2023-09-24T07:41:49.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/get-remix-route-params-in-entry-server</loc><lastmod>2023-09-08T16:36:36.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/test-meta-tags-with-cypress</loc><lastmod>2023-09-06T04:42:31.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/strongly-type-remix-route-ids</loc><lastmod>2023-07-17T23:33:22.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/strongly-type-public-assets-in-remix</loc><lastmod>2023-07-17T15:29:17.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/create-a-reusable-form-component-in-remix</loc><lastmod>2023-07-07T22:35:43.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/sync-text-input-with-urlsearch-params-in-remix</loc><lastmod>2023-07-06T17:28:54.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-tanstack-query-to-share-data-between-remix-loaders</loc><lastmod>2023-06-05T16:01:26.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/logout-from-auth0-with-remix-auth</loc><lastmod>2023-05-24T04:41:20.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/send-node-read-stream-objects-from-remix-loaders</loc><lastmod>2023-05-15T21:00:05.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/reset-a-form-on-success-in-remix</loc><lastmod>2023-05-15T20:46:56.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-qs-parse-to-use-nested-form-fields-in-remix</loc><lastmod>2023-05-15T18:51:52.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/send-json-to-a-remix-action</loc><lastmod>2023-05-13T23:14:44.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/set-multiple-cookies-in-the-same-response-in-remix-loaders</loc><lastmod>2023-05-12T22:34:08.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/close-sse-connection-from-the-server-in-remix</loc><lastmod>2023-05-10T23:43:44.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/measure-performance-with-the-server-timing-header-in-remix</loc><lastmod>2023-04-30T06:20:25.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/automatically-commit-session-on-remix</loc><lastmod>2023-04-04T21:37:26.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/customize-remix-app-load-context-type</loc><lastmod>2023-03-16T21:17:58.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/turn-on-caps-lock-on-cypress</loc><lastmod>2023-03-14T17:27:21.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/delete-a-cookie-using-remix-cookie-helpers</loc><lastmod>2023-02-13T22:41:53.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/add-runtime-ssg-and-isr-to-remix</loc><lastmod>2023-01-29T05:24:17.000Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/improve-seo-by-not-sending-js-in-remix</loc><lastmod>2023-01-25T20:24:28.039Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-amp-with-remix</loc><lastmod>2023-01-23T23:10:44.640Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-remix-as-a-spa-only</loc><lastmod>2023-01-23T22:39:20.297Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/downgrade-to-mpa-if-users-prefer-reduced-data-in-remix</loc><lastmod>2022-12-15T18:03:02.431Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/add-rolling-sessions-to-remix</loc><lastmod>2022-12-01T20:32:16.102Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-server-sent-events-with-remix</loc><lastmod>2022-11-25T23:45:39.710Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/progressively-enhance-the-usefetcher-hook-in-remix</loc><lastmod>2022-11-16T22:13:23.284Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-process-env-client-side-with-remix</loc><lastmod>2022-11-09T16:58:37.307Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/persist-inputs-after-a-form-submit-in-remix</loc><lastmod>2022-10-20T22:11:55.430Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/lazy-load-react-components-in-remix</loc><lastmod>2022-10-12T21:31:09.460Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/destroy-user-session-and-while-setting-a-flash-message-in-remix</loc><lastmod>2022-09-21T20:48:27.011Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/add-additional-data-before-submitting-on-remix</loc><lastmod>2022-09-21T20:31:22.121Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/redirect-to-an-external-website-with-remix</loc><lastmod>2022-09-21T20:07:18.080Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/bubble-up-data-on-remix-routes</loc><lastmod>2022-09-13T23:04:17.475Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/group-related-routes-together-in-remix</loc><lastmod>2022-09-09T17:51:15.068Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/parse-markdown-with-markdoc-in-remix</loc><lastmod>2022-07-21T22:43:43.018Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/optimize-image-loading-with-plain-html</loc><lastmod>2022-05-09T17:31:08.702Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/add-returnto-behavior-to-remix-auth</loc><lastmod>2022-02-25T03:34:26.466Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/share-session-and-cookies-between-next-and-remix</loc><lastmod>2022-02-24T21:52:55.293Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/fix-double-data-request-when-prefetching-in-remix</loc><lastmod>2022-02-24T20:45:58.568Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/run-tailwind-and-remix-in-parallel-with-pm2</loc><lastmod>2022-01-19T05:37:24.253Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-remix-with-socket-io</loc><lastmod>2022-01-11T21:20:22.638Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/generate-a-pdf-in-remix-with-resource-routes</loc><lastmod>2022-01-10T16:43:09.636Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/avoid-waterfalls-of-queries-in-remix-loaders</loc><lastmod>2022-01-06T17:05:58.209Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/run-next-and-remix-on-the-same-server</loc><lastmod>2022-01-03T18:49:57.513Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/test-remix-loaders-and-actions</loc><lastmod>2021-11-25T06:53:55.452Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-nprogress-in-a-remix-app</loc><lastmod>2021-11-24T16:07:35.077Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-fathom-with-remix</loc><lastmod>2021-09-23T21:47:25.323Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/fix-gyp-no-xcode-or-clt-version-detected-error</loc><lastmod>2021-09-09T16:34:31.890Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-dependabot-to-keep-remix-up-to-date</loc><lastmod>2021-09-08T17:45:06.544Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/load-only-the-data-you-need-in-remix</loc><lastmod>2021-06-18T16:45:32.162Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-etags-in-remix</loc><lastmod>2021-06-16T16:32:36.878Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/redirect-to-the-original-url-inside-a-remix-action</loc><lastmod>2021-05-20T21:29:16.747Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/read-search-params-with-js</loc><lastmod>2021-05-18T16:31:40.683Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-activemodel-serializer-with-non-activerecord-object</loc><lastmod>2021-05-17T20:15:30.457Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/serialize-list-of-items-with-activemodel-serializer</loc><lastmod>2021-05-17T18:42:02.061Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-serializers-with-json-stringify-and-json-parse</loc><lastmod>2021-05-12T23:19:48.374Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/force-a-locale-in-rails-i18n-from-the-params</loc><lastmod>2021-05-11T05:02:35.386Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/add-missing-created_at-and-updated_at-columns-in-rails</loc><lastmod>2021-03-23T22:53:31.451Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/build-your-own-rss-reader</loc><lastmod>2021-02-01T05:53:03.249Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/keep-heading-levels-consistent-with-react-context</loc><lastmod>2021-01-31T22:37:23.444Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-tailwindcss-typography-with-dark-mode-styles</loc><lastmod>2020-11-16T06:57:08.260Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/swr/geolocation</loc><lastmod>2020-06-19T05:36:42.220Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/swr/sync-session</loc><lastmod>2020-05-15T07:11:20.918Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/swr/storage-sync</loc><lastmod>2020-05-15T05:28:17.582Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/vercel/configure-gsuite</loc><lastmod>2020-05-12T05:10:09.201Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/next/web-vitals</loc><lastmod>2020-05-11T17:49:13.664Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/react/suspense-image-loading</loc><lastmod>2020-05-09T09:13:43.273Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/tailwind/purge-unused-css</loc><lastmod>2020-05-09T09:05:38.436Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/vercel/setup-redirect</loc><lastmod>2020-05-09T08:37:03.640Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/use-scoped-registry</loc><lastmod>2020-05-09T08:23:30.874Z</lastmod></url>,<url><loc>https://sergiodxa.com/tutorials/github-actions-npm-publish</loc><lastmod>2019-10-29T15:49:37.884Z</lastmod></url></urlset>