jotaijs / jotaijs/jotai-devtools

Jotai Devtools spits out a mismatched server/client props warning when used in Nextjs 14

Open
#155 3 comments 1 reaction 0 assignees View on GitHub
help wanted
Dominant language
TypeScript
Stars
185
Forks
39
PR merge metrics
No merged PRs in 30d

Description

> Warning: Prop `style` did not match. Server: "--ai-radius:50%;--ai-bg:var(--mantine-color-dark-filled);--ai-hover:var(--mantine-color-dark-filled-hover);--ai-color:var(--mantine-color-white);--ai-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;border-width:0;z-index:99999;width:calc(4rem * var(--mantine-scale));height:calc(4rem * var(--mantine-scale));position:fixed;top:unset;left:0.2rem;bottom:0.2rem;right:unset" Client: "--ai-radius:50%;--ai-bg:var(--mantine-color-gray-3);--ai-hover:var(--mantine-color-gray-4);--ai-color:var(--mantine-color-white);--ai-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;border-width:0;z-index:99999;width:calc(4rem * var(--mantine-scale));height:calc(4rem * var(--mantine-scale));position:fixed;top:unset;left:0.2rem;bottom:0.2rem;right:unset"

`store/index.ts`
```ts
import { createStore } from 'jotai';

const store = createStore()

export default store;
```

`ClientProviders.tsx`
```ts
"use client";

import store from "@/store";
import { Provider } from "jotai";
import { DevTools } from "jotai-devtools";
import { ReactNode } from "react";

import "jotai-devtools/styles.css";

export default function ClientProviders({ children }: { children: ReactNode }) {
return (


{children}

);
}
```

`layout.tsx`
```ts
import ClientProviders from "@/providers/ClientProviders";
import "./globals.css";

export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (


{children}


);
}
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the warning with the shown store/index.ts, ClientProviders.tsx, and layout.tsx setup in Next.js 14. Start by tracing DevTools styling during server rendering and client hydration, then verify the fix by confirming the server and client style props match without the hydration warning.

Written by the indexing model from the issue text.

Assessment

Tech stack
nextjs, react, typescript
Domain
devtools, frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.