šŸ“™ Understanding Neuronal Networks presale is now open - 20% off discount!

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.

šŸ“– Neural Networks from Scratch - Presale

I'm writing a book about the timeless foundational concepts of neural networks for JavaScript developers. Go from if-else to weights and biases by building tiny AI models from scratch!

šŸ“– Neural Networks from Scratch - Presale

I'm writing a book about the timeless foundational concepts of neural networks for JavaScript developers. Go from if-else to weights and biases by building tiny AI models from scratch!


Leave a Reply

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