next-dev.js?3515:32 Warning: Prop `className` did not match. Server Client

Dealing with "next-dev.js?3515:32 Warning: Prop `className` did not match. Server Client" Error

If you're working with Next.js, you might have encountered the following error message:

next-dev.js?3515:32 Warning: Prop `className` did not match. Server Client

This error message indicates that there is a mismatch between the className property on the server and on the client.

What causes this error?

This error occurs when the className property is different between the server and client. This can happen when the client-side React code is hydrated, meaning the server-rendered HTML is turned into a working React component on the client. When this happens, React checks to see if the client-rendered HTML matches the server-rendered HTML, and if there are any differences, it will throw this error.

How to fix this error?

There are several ways to fix this error:

  • Make sure your components have consistent classes. Check your code to make sure that your components are using the same classes on the server and on the client.
  • Use class instead of className. If you're using JSX syntax, you can use the class attribute instead of className. This will ensure that the server and client use the same attribute name.
  • Disable React's strict mode. If you're using React's strict mode, you can disable it to avoid this error. Strict mode is a development-only feature that checks for common mistakes and warns you about them. To disable strict mode, remove the <React.StrictMode> tags from your code.

Here's an example of how to use the class attribute instead of className:


<div class="my-class">This is my div</div>

And here's an example of how to disable React's strict mode:


ReactDOM.render(
  <React.Fragment>
    <App />
  </React.Fragment>,
  document.getElementById('root')
);

By following these steps, you should be able to fix the "next-dev.js?3515:32 Warning: Prop `className` did not match. Server Client" error and ensure that your Next.js app runs smoothly.

Subscribe to The Poor Coder | Algorithm Solutions

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
[email protected]
Subscribe