<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url><loc>https://datagarden.ir/</loc><lastmod>2026-10-27</lastmod></url>
  <url><loc>https://datagarden.ir/posts</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=adapters</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=after</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=app-router</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=auth</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=batching</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=beginwork</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=bootstrap</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=bundling</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=cache-components</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=cachelife</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=cachetag</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=caching</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=client-components</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=commit-phase</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=completework</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=concurrency</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=configuration</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=createroot</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=csr</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=data-fetching</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=data-structures</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=deployment</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=dispatcher</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=docker</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=dom</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=dynamic-rendering</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=effects</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=elements</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=environment-variables</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=error-boundaries</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=errors</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=events</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=fiber</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=fiber-root</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=first-render</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=fonts</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=forms</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=fundamentals</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=generate-static-params</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=hooks</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=hydration</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=images</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=instrumentation</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=isr</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=jsx</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=keys</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=lanes</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=layouts</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=link</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=memoization</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=mental-model</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=metadata</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=middleware</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=moc</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=mutations</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=navigation</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=next-dynamic</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=nextjs</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=nextjs-course</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=not-found</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=oauth</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=performance</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=pkce</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=ppr</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=prefetching</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=proxy</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=purity</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=react</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=react-compiler</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=react-concepts</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=react-dom</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=react-internals</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=recipes</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=reconciliation</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=redirects</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=render-phase</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=renderers</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=rendering</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=request-apis</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=revalidatepath</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=revalidatetag</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=revalidation</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=root-render</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=route-handlers</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=router</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=routing</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=rsc</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=rules-of-hooks</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=scheduler</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=scheduling</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=scripts</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=security</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=self-hosting</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=seo</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=server-actions</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=server-components</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=sessions</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=setstate</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=spa</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=ssg</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=ssr</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=state</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=static-export</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=streaming</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=suspense</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=synthetic-events</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=tanstack-query</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=tokens</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=transitions</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=turbopack</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=updatetag</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=use-cache</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=walkthrough</loc></url>
  <url><loc>https://datagarden.ir/posts?tag=work-loop</loc></url>
  <url><loc>https://datagarden.ir/tags</loc></url>
  <url><loc>https://datagarden.ir/lessons</loc><lastmod>2026-10-27</lastmod></url>
  <url><loc>https://datagarden.ir/series/react-concepts</loc><lastmod>2026-10-27</lastmod></url>
  <url><loc>https://datagarden.ir/series/react-explain</loc><lastmod>2026-10-27</lastmod></url>
  <url><loc>https://datagarden.ir/series/nextjs</loc><lastmod>2026-10-27</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/43-recipes-forms-mutations-and-uploads</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/44-recipes-performance-config-and-deployment</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/42-recipes-rendering-and-hydration-errors</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/41-recipes-routing-and-navigation</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/20-rendering-strategies-a-decision-map</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/23-ppr-partial-prerendering-with-cache-components</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/22-ssr-rendering-per-request</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/21-ssg-and-isr-static-pages-and-generatestaticparams</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/28-client-only-auth-tokens-in-the-browser</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/05-cache-components-use-cache-cachelife-and-cachetag</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/00-nextjs-in-practice-index</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/03-linking-navigation-and-prefetching</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/04-data-fetching-and-streaming</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/07-server-actions-and-forms</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/02-server-and-client-components</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/06-revalidation-tags-paths-and-refresh</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/11-configuration-turbopack-and-deployment</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/09-metadata-images-fonts-and-scripts</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/24-csr-client-rendered-islands</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/25-fully-client-side-spa-and-static-export</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/26-tanstack-query-server-prefetch-and-hydration</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/10-errors-redirects-and-request-lifecycle-apis</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/01-the-app-router-files-segments-and-layouts</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/27-server-aware-auth-sessions-proxy-and-the-dal</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/08-route-handlers-and-proxy</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/nextjs/40-recipes-data-caching-and-revalidation</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-concepts/09-hooks-why-order-matters</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-concepts/04-state-updates-snapshots-and-batching</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-concepts/12-a-click-start-to-finish</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-concepts/08-the-commit-phase-and-effects</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-concepts/03-what-rendering-really-means</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-concepts/11-memoization-and-the-react-compiler</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-concepts/02-elements-components-and-the-tree</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-concepts/07-priorities-transitions-and-concurrency</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-concepts/01-the-big-idea-ui-is-a-function-of-state</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-concepts/10-events-one-listener-at-the-root</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-concepts/06-fiber-work-you-can-pause</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-concepts/05-reconciliation-finding-what-changed</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-explain/10-hooks-on-mount</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-explain/14-react-compiler-how-it-works</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-explain/06-the-work-loop-render-phase</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-explain/15-rendering-with-vs-without-the-compiler</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-explain/21-walkthrough-setstate-to-pixels</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-explain/20-walkthrough-first-render-end-to-end</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-explain/13-the-event-system</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-explain/05-the-fiber-data-structure</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-explain/04-lanes-and-the-scheduler</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-explain/03-rootrender-scheduling-the-first-update</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-explain/02-createroot-fiberroot-and-hostroot</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-explain/01-bootstrap-packages-jsx-and-the-dispatcher</loc><lastmod>2026-10-25</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-explain/00-react-internals-index</loc><lastmod>2026-10-24</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-explain/07-beginwork-and-reconciliation</loc><lastmod>2026-10-24</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-explain/09-commit-phase-mutation-layout-passive-effects</loc><lastmod>2026-10-24</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-explain/08-completework-building-dom-nodes</loc><lastmod>2026-10-24</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-explain/12-setstate-dispatchsetstate-and-batching</loc><lastmod>2026-10-24</lastmod></url>
  <url><loc>https://datagarden.ir/posts/react-explain/11-hooks-on-update</loc><lastmod>2026-10-24</lastmod></url>
</urlset>
