ITADN

version 1.0.1 breaks server-side rendering for nanostores atoms in nextjs

#41ClosedlunarW1TCH 创建于 2026-03-16
L
lunarW1TCHcommented
In version `1.0.0` when messages are called on the server `useStore` hook returns the object populated with default values. In version `1.0.1` it returns `undefined`. ```typescript 'use client'; const NavigationPanel = (): React.ReactNode => { const t = useStore($messages); // undefined during initial server-side render // ... } // this example uses `@nanostores/i18n` but the issue is universal to any nanostores atom export const $messages = i18n('root/nav', { title: 'Title' }); ``` Current behavior breaks all pre-rendering. `next@16.0.10` ``` Uncaught Error: Switched to client rendering because the server rendering errored: Cannot read properties of undefined (reading 'title') react-dom-client.development.js:11329:17 updateSuspenseComponent react-dom-client.development.js:11329 beginWork react-dom-client.development.js:12449 runWithFiberInDEV react-dom-client.development.js:987 performUnitOfWork react-dom-client.development.js:18995 workLoopSync react-dom-client.development.js:18823 renderRootSync react-dom-client.development.js:18804 performWorkOnRoot react-dom-client.development.js:17833 performWorkOnRootViaSchedulerTask react-dom-client.development.js:20382 performWorkUntilDeadline scheduler.development.js:45 (Async: EventHandlerNonNull) <anonymous> scheduler.development.js:223 <anonymous> scheduler.development.js:364 instantiateModule dev-base.ts:244 runModuleExecutionHooks dev-base.ts:278 instantiateModule dev-base.ts:238 getOrInstantiateModuleFromParent dev-base.ts:162 commonJsRequire runtime-utils.ts:389 <anonymous> index.js:6 instantiateModule dev-base.ts:244 runModuleExecutionHooks dev-base.ts:278 instantiateModule dev-base.ts:238 getOrInstantiateModuleFromParent dev-base.ts:162 commonJsRequire runtime-utils.ts:389 <anonymous> react-dom-client.development.js:26276 <anonymous> react-dom-client.development.js:30584 instantiateModule dev-base.ts:244 runModuleExecutionHooks dev-base.ts:278 instantiateModule dev-base.ts:238 getOrInstantiateModuleFromParent dev-base.ts:162 commonJsRequire runtime-utils.ts:389 <anonymous> client.js:37 instantiateModule dev-base.ts:244 runModuleExecutionHooks dev-base.ts:278 instantiateModule dev-base.ts:238 getOrInstantiateModuleFromParent dev-base.ts:162 commonJsRequire runtime-utils.ts:389 <anonymous> app-index.tsx:2 instantiateModule dev-base.ts:244 runModuleExecutionHooks dev-base.ts:278 instantiateModule dev-base.ts:238 getOrInstantiateModuleFromParent dev-base.ts:162 commonJsRequire runtime-utils.ts:389 <anonymous> app-next-turbopack.ts:11 appBootstrap app-bootstrap.ts:79 loadScriptsInSequence app-bootstrap.ts:23 appBootstrap app-bootstrap.ts:61 <anonymous> app-next-turbopack.ts:10 instantiateModule dev-base.ts:244 runModuleExecutionHooks dev-base.ts:278 instantiateModule dev-base.ts:238 getOrInstantiateRuntimeModule dev-base.ts:128 registerChunk runtime-backend-dom.ts:57 AsyncFunctionNext self-hosted:780 (Async: async) registerChunk dev-base.ts:1149 forEach self-hosted:145 NextJS 2 ```
关闭于 2026-03-17 10 条评论