CV laden
Zurück zu Business Cases

React

React, das Vue-Markup hydrierte

Der Katalog war Vue-SSR. Eine gemeinsame Insel lief React. Daten wichen ab. Die Seite malte zweimal und schickte den CMS-Graph.

Public-Seiten nutzten Vue-SSR. Der Editor wollte React-Tabellen. Ein Webpack-Graph mountete eine React-Root auf einem Node, den Vue schon gedruckt hatte. Das Serverdatum war UTC. React formatierte lokale Zeit in Berlin. Hydration fiel. Der Katalog blitzte und lud den Admin-Chunk.

TTI auf dem Handy sprang. Der Besucher öffnete kein CMS. Er zahlte in Bytes und in einem zweiten Paint.

Das Problem waren zwei Frameworks auf einem Tree. Käufer bekamen einen Flash und ein CMS-Bundle, das sie nicht brauchten. Vue-SSR öffentlich, React auf /admin, ein Sanctum-Cookie, kein Token in localStorage.

Vue druckte das HTML. React wollte dieselben Nodes. Die Bäume passten nicht.
Vue druckte das HTML. React wollte dieselben Nodes. Die Bäume passten nicht.

Zwei Builds

Public bleibt Vue-SSR. Admin ist eine zweite Vite-App auf /admin. Beide nutzen das Sanctum-Cookie auth_token. Kein Token in localStorage. Geteilter Code sind Fetch-Types, keine Tabellenkomponente. nginx cached öffentliches HTML ohne den React-Graph.

Zwei Bundles, ein Cookie. Public hydriert mit Vue. Admin lädt React nach Login.
Zwei Bundles, ein Cookie. Public hydriert mit Vue. Admin lädt React nach Login.

Was wir maßen

Das Listen-Script verlor den Großteil des CMS-Vendors. Hydration-Warnungen zu Daten gingen auf null, weil React diesen Tree nicht mehr fuhr. Der Vue-Hydration-Date-Case auf dieser Site ist dieselbe Bugklasse ohne zweites Framework. React auf derselben Root machte ihn lauter, nicht anders.

Was ich daraus mitnehme

Eine Root, zwei Frameworks, ist ein Hydration-Fehler plus extra Bytes. Apps an der URL trennen.

Admin-Vendor gehört nicht auf den Katalog. TTI auf dem Handy machte das klar.

auth_token bleibt im httpOnly-Cookie. Eine geteilte Tabellenkomponente war den geteilten Hydrate-Tree nicht wert.

Zurück zu Business Cases