šŸ“• Build AI Agents using LangGraph.js is now out!

Fixing the Error: Event handlers cannot be passed to Client Component props in NextJs

Let's say we have the this NextJs code:

// ā›”ļø this will throw an error
export default function Home() {
  return (
    <button onClick={() => alert('hi')}>
      Say hi šŸ‘‹!!!
    </button>
  )
} 

The above page will throw this error:

Error: Event handlers cannot be passed to Client Component props.
 <button onClick={function} children=...>
         ^^^^^^^^^^
If you need interactivity, consider converting part of this to a Client Component.

The reason why this error happens is that we are trying to use a UI event handler in a non-client component.

Therefore we will need to mark the NextJs component with the use client directive:

// āœ… add the use client directive for UI event handlers
"use client"

export default function Home() {
  return (
    <button onClick={() => alert('hi')}>
      Say hi šŸ‘‹!!!
    </button>
  )
}

Fixing the Event handlers cannot be passed to Client Component props. NextJs Error

The full code for this tiny example is here.

šŸ“– Build a full trivia game app with LangChain

Learn by doing with this FREE ebook! This 35-page guide walks you through every step of building your first fully functional AI-powered app using JavaScript and LangChain.js

šŸ“– Build a full trivia game app with LangChain

Learn by doing with this FREE ebook! This 35-page guide walks you through every step of building your first fully functional AI-powered app using JavaScript and LangChain.js


Leave a Reply

Your email address will not be published. Required fields are marked *