{"id":233,"date":"2026-08-09T04:38:54","date_gmt":"2026-08-09T04:38:54","guid":{"rendered":"https:\/\/www.serbeld.space\/en\/?p=233"},"modified":"2026-08-09T04:38:55","modified_gmt":"2026-08-09T04:38:55","slug":"react-server-components-production-boundaries","status":"publish","type":"post","link":"https:\/\/www.serbeld.space\/en\/2026\/08\/09\/react-server-components-production-boundaries\/","title":{"rendered":"React Server Components in Production: The Boundaries That Still Bite"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">React Server Components stopped being experimental a while ago and the argument about whether to use them is largely over. Less client JavaScript, data fetched where it lives, a smaller bundle. On a content or commerce site the gains are real and measurable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What is not over is the confusion at the boundary. Almost every RSC problem I have watched a team hit reduces to the same root: the boundary is not where they thought it was, or it does not behave the way a component boundary normally does.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here are the ones that keep recurring.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. &#8220;use client&#8221; marks an entry point, not a file<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is the single most common misunderstanding and the source of the most surprising bundle sizes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Putting the directive at the top of a file does not make that one file a Client Component. It marks the point where the client boundary begins, and everything that file imports, and everything those files import, is pulled into the client bundle with it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A single <code>\"use client\"<\/code> on a layout near the root of the tree quietly converts most of your application back into a normal client rendered React app, and the thing that makes this hard to notice is that everything still works. You only find it by looking at the bundle.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The practical rule is to push the directive as far down the tree as it will go. If a page is static except for one dropdown, the dropdown is the Client Component, not the page.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Server Components can be children of Client Components<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">People assume that once you cross into client territory you cannot come back. You can, through composition, and this is the escape hatch that fixes most bundle problems.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ Bad: the Client Component imports the server one, dragging it client side\n\"use client\";\nimport HeavyServerThing from \".\/heavy-server-thing\";\n\n\/\/ Good: pass it in as children from a Server Component parent\n\/\/ app\/page.tsx  (server)\n&lt;InteractiveShell&gt;\n  &lt;HeavyServerThing \/&gt;\n&lt;\/InteractiveShell&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The Client Component receives already rendered output as a prop. It never imports the server code, so the server code never reaches the browser. This one pattern resolves a large share of the cases where teams conclude that RSC does not fit their app.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Props crossing the boundary must be serializable<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Anything passed from a Server Component to a Client Component has to survive serialization. Functions do not. Class instances do not. Dates and Maps and Sets have historically been inconsistent depending on version, so verify rather than assume.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The failure mode that costs the most time is not the error. It is passing a large object because it was convenient, and shipping fields the client never uses into the payload. Every extra field is bytes on the wire for every request.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ avoid: whole record crosses, including cost, supplier, internal notes\n&lt;PriceWidget product={product} \/&gt;\n\n\/\/ better: only what the client actually renders\n&lt;PriceWidget price={product.price} currency={product.currency} \/&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">There is a security dimension here too. Fields you would never render are still in the payload and readable in devtools. Treat the boundary as an API response, because that is what it is.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">4. Context does not cross<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">React context is a client concept. A Server Component cannot consume it, which breaks the usual pattern of a theme, locale, or auth provider wrapping the whole tree.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The workaround people reach for is marking the provider as a Client Component, which is correct, but then everything that consumes it must also be client, and you are back to problem one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The better shape is to stop treating context as the transport for server known values. Locale and user come from the request on the server and get passed as props. Context stays for genuinely client side state: an open menu, a form draft, a theme toggle the user flipped.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Waterfalls are easier to create than before<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Fetching inside components is pleasant right up to the moment a nested component&#8217;s fetch depends on its parent&#8217;s result. Then requests serialise, and because each one is fast on its own nobody notices until the page is slow in aggregate.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Start independent requests in parallel at the level where you know all of them, and let Suspense handle arrival order.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ sequential: three round trips end to end\nconst user = await getUser(id);\nconst orders = await getOrders(id);\nconst recs = await getRecommendations(id);\n\n\/\/ parallel: one round trip's worth of latency\nconst [user, orders, recs] = await Promise.all([\n  getUser(id),\n  getOrders(id),\n  getRecommendations(id),\n]);<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Where a dependency is genuine, isolate that subtree behind its own Suspense boundary so it does not hold up everything else.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6. Streaming has an accessibility cost by default<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This is the one that goes unmentioned in almost every RSC article, and it is the reason I keep writing about both topics together.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Content streaming in is a visual event. A skeleton is replaced by real content and a sighted user perceives progress. A screen reader user perceives nothing, because nothing announced that anything changed. From their side the page loaded, said very little, and then stopped.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The fix is small and almost nobody ships it: a polite status region that announces when a streamed section has arrived, and a fallback that is itself descriptive rather than a bare spinner.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;Suspense fallback={&lt;p role=\"status\"&gt;Loading recommendations&lt;\/p&gt;}&gt;\n  &lt;Recommendations \/&gt;\n&lt;\/Suspense&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Also watch focus. If a user tabs into a region while it is still a skeleton, the elements they were on get replaced, and focus lands wherever the browser decides. On a long streamed page that is disorienting enough to lose people.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">7. Third party libraries are still the roughest edge<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Any library using hooks, browser APIs, or context needs a client boundary. Most ecosystem packages now ship the directive themselves, but older ones do not, and the error you get points at your file rather than at theirs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The usual pattern is a thin client wrapper per offending library, kept in one directory so the boundary is visible in the file tree rather than scattered through feature folders.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The summary I give teams<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Server by default, client at the leaves. Pass rendered children rather than importing across the boundary. Send the minimum a component needs, not the object you happen to have. Parallelise fetches unless a dependency is real. And announce your streamed content, because the model that makes pages feel fast also makes them silent.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>I build React and Next.js frontends, and I audit them for the accessibility gaps that server rendering quietly introduces.<\/strong> Write to me at <a href=\"mailto:serbeldiaz@gmail.com\">serbeldiaz@gmail.com<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Server Components are stable and the mental model is genuinely better. The problems that remain are not bugs, they are places where the client and server boundary does something people do not expect.<\/p>\n","protected":false},"author":1,"featured_media":238,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"saved_in_kubio":false,"footnotes":""},"categories":[21],"tags":[],"class_list":["post-233","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-frontend"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>React Server Components in Production: The Boundaries That Still Bite - My Blog | Serbeld Digital Creations<\/title>\n<meta name=\"description\" content=\"Practical lessons from running React Server Components in production: serialization limits, the use client boundary, context, data waterfalls, and where the model still surprises people.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.serbeld.space\/en\/2026\/08\/09\/react-server-components-production-boundaries\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"React Server Components in Production: The Boundaries That Still Bite - My Blog | Serbeld Digital Creations\" \/>\n<meta property=\"og:description\" content=\"Practical lessons from running React Server Components in production: serialization limits, the use client boundary, context, data waterfalls, and where the model still surprises people.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.serbeld.space\/en\/2026\/08\/09\/react-server-components-production-boundaries\/\" \/>\n<meta property=\"og:site_name\" content=\"My Blog | Serbeld Digital Creations\" \/>\n<meta property=\"article:published_time\" content=\"2026-08-09T04:38:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-09T04:38:55+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.serbeld.space\/en\/wp-content\/uploads\/2026\/08\/images-1.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"738\" \/>\n\t<meta property=\"og:image:height\" content=\"414\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Sergio Bele\u00f1o\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sergio Bele\u00f1o\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/2026\\\/08\\\/09\\\/react-server-components-production-boundaries\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/2026\\\/08\\\/09\\\/react-server-components-production-boundaries\\\/\"},\"author\":{\"name\":\"Sergio Bele\u00f1o\",\"@id\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/#\\\/schema\\\/person\\\/48af20418730d7abd4745862cb50bd91\"},\"headline\":\"React Server Components in Production: The Boundaries That Still Bite\",\"datePublished\":\"2026-08-09T04:38:54+00:00\",\"dateModified\":\"2026-08-09T04:38:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/2026\\\/08\\\/09\\\/react-server-components-production-boundaries\\\/\"},\"wordCount\":976,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/2026\\\/08\\\/09\\\/react-server-components-production-boundaries\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/images-1.jpeg\",\"articleSection\":[\"Frontend\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.serbeld.space\\\/en\\\/2026\\\/08\\\/09\\\/react-server-components-production-boundaries\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/2026\\\/08\\\/09\\\/react-server-components-production-boundaries\\\/\",\"url\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/2026\\\/08\\\/09\\\/react-server-components-production-boundaries\\\/\",\"name\":\"React Server Components in Production: The Boundaries That Still Bite - My Blog | Serbeld Digital Creations\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/2026\\\/08\\\/09\\\/react-server-components-production-boundaries\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/2026\\\/08\\\/09\\\/react-server-components-production-boundaries\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/images-1.jpeg\",\"datePublished\":\"2026-08-09T04:38:54+00:00\",\"dateModified\":\"2026-08-09T04:38:55+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/#\\\/schema\\\/person\\\/48af20418730d7abd4745862cb50bd91\"},\"description\":\"Practical lessons from running React Server Components in production: serialization limits, the use client boundary, context, data waterfalls, and where the model still surprises people.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/2026\\\/08\\\/09\\\/react-server-components-production-boundaries\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.serbeld.space\\\/en\\\/2026\\\/08\\\/09\\\/react-server-components-production-boundaries\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/2026\\\/08\\\/09\\\/react-server-components-production-boundaries\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/images-1.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/images-1.jpeg\",\"width\":738,\"height\":414,\"caption\":\"React server components image\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/2026\\\/08\\\/09\\\/react-server-components-production-boundaries\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"React Server Components in Production: The Boundaries That Still Bite\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/\",\"name\":\"My Blog | Serbeld Digital Creations\",\"description\":\"Explore a world of innovation and creativity with Serbeld Digital Creations. Discover cutting-edge technology projects and digital marvels crafted by Serbeld. Join us on a journey through the digital realm where ideas come to life.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/#\\\/schema\\\/person\\\/48af20418730d7abd4745862cb50bd91\",\"name\":\"Sergio Bele\u00f1o\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a10c42d0d6b00687137658785dd7dea4acf2aeaad435abb9bf0f05c5740a1681?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a10c42d0d6b00687137658785dd7dea4acf2aeaad435abb9bf0f05c5740a1681?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a10c42d0d6b00687137658785dd7dea4acf2aeaad435abb9bf0f05c5740a1681?s=96&d=mm&r=g\",\"caption\":\"Sergio Bele\u00f1o\"},\"sameAs\":[\"https:\\\/\\\/www.serbeld.space\\\/en\"],\"url\":\"https:\\\/\\\/www.serbeld.space\\\/en\\\/author\\\/admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"React Server Components in Production: The Boundaries That Still Bite - My Blog | Serbeld Digital Creations","description":"Practical lessons from running React Server Components in production: serialization limits, the use client boundary, context, data waterfalls, and where the model still surprises people.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.serbeld.space\/en\/2026\/08\/09\/react-server-components-production-boundaries\/","og_locale":"en_US","og_type":"article","og_title":"React Server Components in Production: The Boundaries That Still Bite - My Blog | Serbeld Digital Creations","og_description":"Practical lessons from running React Server Components in production: serialization limits, the use client boundary, context, data waterfalls, and where the model still surprises people.","og_url":"https:\/\/www.serbeld.space\/en\/2026\/08\/09\/react-server-components-production-boundaries\/","og_site_name":"My Blog | Serbeld Digital Creations","article_published_time":"2026-08-09T04:38:54+00:00","article_modified_time":"2026-08-09T04:38:55+00:00","og_image":[{"width":738,"height":414,"url":"https:\/\/www.serbeld.space\/en\/wp-content\/uploads\/2026\/08\/images-1.jpeg","type":"image\/jpeg"}],"author":"Sergio Bele\u00f1o","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Sergio Bele\u00f1o","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.serbeld.space\/en\/2026\/08\/09\/react-server-components-production-boundaries\/#article","isPartOf":{"@id":"https:\/\/www.serbeld.space\/en\/2026\/08\/09\/react-server-components-production-boundaries\/"},"author":{"name":"Sergio Bele\u00f1o","@id":"https:\/\/www.serbeld.space\/en\/#\/schema\/person\/48af20418730d7abd4745862cb50bd91"},"headline":"React Server Components in Production: The Boundaries That Still Bite","datePublished":"2026-08-09T04:38:54+00:00","dateModified":"2026-08-09T04:38:55+00:00","mainEntityOfPage":{"@id":"https:\/\/www.serbeld.space\/en\/2026\/08\/09\/react-server-components-production-boundaries\/"},"wordCount":976,"commentCount":0,"image":{"@id":"https:\/\/www.serbeld.space\/en\/2026\/08\/09\/react-server-components-production-boundaries\/#primaryimage"},"thumbnailUrl":"https:\/\/www.serbeld.space\/en\/wp-content\/uploads\/2026\/08\/images-1.jpeg","articleSection":["Frontend"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.serbeld.space\/en\/2026\/08\/09\/react-server-components-production-boundaries\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.serbeld.space\/en\/2026\/08\/09\/react-server-components-production-boundaries\/","url":"https:\/\/www.serbeld.space\/en\/2026\/08\/09\/react-server-components-production-boundaries\/","name":"React Server Components in Production: The Boundaries That Still Bite - My Blog | Serbeld Digital Creations","isPartOf":{"@id":"https:\/\/www.serbeld.space\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.serbeld.space\/en\/2026\/08\/09\/react-server-components-production-boundaries\/#primaryimage"},"image":{"@id":"https:\/\/www.serbeld.space\/en\/2026\/08\/09\/react-server-components-production-boundaries\/#primaryimage"},"thumbnailUrl":"https:\/\/www.serbeld.space\/en\/wp-content\/uploads\/2026\/08\/images-1.jpeg","datePublished":"2026-08-09T04:38:54+00:00","dateModified":"2026-08-09T04:38:55+00:00","author":{"@id":"https:\/\/www.serbeld.space\/en\/#\/schema\/person\/48af20418730d7abd4745862cb50bd91"},"description":"Practical lessons from running React Server Components in production: serialization limits, the use client boundary, context, data waterfalls, and where the model still surprises people.","breadcrumb":{"@id":"https:\/\/www.serbeld.space\/en\/2026\/08\/09\/react-server-components-production-boundaries\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.serbeld.space\/en\/2026\/08\/09\/react-server-components-production-boundaries\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.serbeld.space\/en\/2026\/08\/09\/react-server-components-production-boundaries\/#primaryimage","url":"https:\/\/www.serbeld.space\/en\/wp-content\/uploads\/2026\/08\/images-1.jpeg","contentUrl":"https:\/\/www.serbeld.space\/en\/wp-content\/uploads\/2026\/08\/images-1.jpeg","width":738,"height":414,"caption":"React server components image"},{"@type":"BreadcrumbList","@id":"https:\/\/www.serbeld.space\/en\/2026\/08\/09\/react-server-components-production-boundaries\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.serbeld.space\/en\/"},{"@type":"ListItem","position":2,"name":"React Server Components in Production: The Boundaries That Still Bite"}]},{"@type":"WebSite","@id":"https:\/\/www.serbeld.space\/en\/#website","url":"https:\/\/www.serbeld.space\/en\/","name":"My Blog | Serbeld Digital Creations","description":"Explore a world of innovation and creativity with Serbeld Digital Creations. Discover cutting-edge technology projects and digital marvels crafted by Serbeld. Join us on a journey through the digital realm where ideas come to life.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.serbeld.space\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.serbeld.space\/en\/#\/schema\/person\/48af20418730d7abd4745862cb50bd91","name":"Sergio Bele\u00f1o","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a10c42d0d6b00687137658785dd7dea4acf2aeaad435abb9bf0f05c5740a1681?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a10c42d0d6b00687137658785dd7dea4acf2aeaad435abb9bf0f05c5740a1681?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a10c42d0d6b00687137658785dd7dea4acf2aeaad435abb9bf0f05c5740a1681?s=96&d=mm&r=g","caption":"Sergio Bele\u00f1o"},"sameAs":["https:\/\/www.serbeld.space\/en"],"url":"https:\/\/www.serbeld.space\/en\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.serbeld.space\/en\/wp-json\/wp\/v2\/posts\/233","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.serbeld.space\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.serbeld.space\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.serbeld.space\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.serbeld.space\/en\/wp-json\/wp\/v2\/comments?post=233"}],"version-history":[{"count":1,"href":"https:\/\/www.serbeld.space\/en\/wp-json\/wp\/v2\/posts\/233\/revisions"}],"predecessor-version":[{"id":239,"href":"https:\/\/www.serbeld.space\/en\/wp-json\/wp\/v2\/posts\/233\/revisions\/239"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.serbeld.space\/en\/wp-json\/wp\/v2\/media\/238"}],"wp:attachment":[{"href":"https:\/\/www.serbeld.space\/en\/wp-json\/wp\/v2\/media?parent=233"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.serbeld.space\/en\/wp-json\/wp\/v2\/categories?post=233"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.serbeld.space\/en\/wp-json\/wp\/v2\/tags?post=233"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}