[{"data":1,"prerenderedAt":146},["ShallowReactive",2],{"content-\u002Fe\u002Faf07":3},{"id":4,"title":5,"body":6,"condition":137,"description":138,"extension":139,"meta":140,"navigation":141,"path":142,"seo":143,"stem":144,"__hash__":145},"errors\u002Fe\u002Faf07.md","AF07",{"type":7,"value":8,"toc":133},"minimark",[9,13,28,31,49,54,61,65,121,129],[10,11,5],"h1",{"id":12},"af07",[14,15,16],"p",{},[17,18,19,23,24,27],"strong",{},[20,21,22],"code",{},"renderAttaformState"," \u002F ",[20,25,26],{},"hydrateAttaformState"," ran on an app that has no Attaform registry.",[14,29,30],{},"In development this reads:",[32,33,34],"blockquote",{},[14,35,36,40,41,44,45,48],{},[37,38,39],"span",{},"attaform"," No registry attached to this Vue app. Component-level useForm \u002F injectForm \u002F useRegister auto-install the registry, but SSR helpers (renderAttaformState, hydrateAttaformState) run outside setup and require an explicit ",[20,42,43],{},"app.use(createAttaform())"," at server-render time. Add it to your SSR entry, before ",[20,46,47],{},"renderToString",".",[50,51,53],"h2",{"id":52},"what-happened","What happened",[14,55,56,57,60],{},"Inside components, the registry installs itself on first use. The SSR helpers run outside any component, before or after the render, so nothing has installed it for them. Under Nuxt the ",[20,58,59],{},"attaform\u002Fnuxt"," module wires this automatically; this code almost always points at a bare-Vue SSR entry that skipped the explicit install.",[50,62,64],{"id":63},"how-to-fix-it","How to fix it",[66,67,72],"pre",{"className":68,"code":69,"language":70,"meta":71,"style":71},"language-ts shiki shiki-themes github-light github-dark","const app = createSSRApp(App)\napp.use(createAttaform({ ssr: true }))\n","ts","",[20,73,74,97],{"__ignoreMap":71},[37,75,78,82,86,89,93],{"class":76,"line":77},"line",1,[37,79,81],{"class":80},"szBVR","const",[37,83,85],{"class":84},"sj4cs"," app",[37,87,88],{"class":80}," =",[37,90,92],{"class":91},"sScJk"," createSSRApp",[37,94,96],{"class":95},"sVt8B","(App)\n",[37,98,100,103,106,109,112,115,118],{"class":76,"line":99},2,[37,101,102],{"class":95},"app.",[37,104,105],{"class":91},"use",[37,107,108],{"class":95},"(",[37,110,111],{"class":91},"createAttaform",[37,113,114],{"class":95},"({ ssr: ",[37,116,117],{"class":84},"true",[37,119,120],{"class":95}," }))\n",[14,122,123,128],{},[124,125,127],"a",{"href":126},"\u002Fdocs\u002Fserver-and-ssr\u002Fssr-bare-vue","SSR hydration: bare Vue"," shows the complete server and client entries.",[130,131,132],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":71,"searchDepth":99,"depth":99,"links":134},[135,136],{"id":52,"depth":99,"text":53},{"id":63,"depth":99,"text":64},"No Attaform registry is attached to the Vue app","An SSR helper ran on a Vue app with no Attaform registry attached. Install createAttaform() in the server entry before renderToString.","md",{},true,"\u002Fe\u002Faf07",{"title":5,"description":138},"e\u002Faf07","8tjd-eGRPqsreqUZw2dROWQC03GZPI5_8uoD1odGypc",1787641563004]