DEV Community

Turing
Turing

Posted on

'EventTarget' is not assignable to parameter of type 'Node'

In computer language, when you try to say, "Hey, this thing is definitely a toy," but it's not always a toy, the computer gets confused. That's what this error is saying:

"'EventTarget' is not assignable to parameter of type 'Node'"

It means: "I expected you to give me a toy (a DOM element like a button), but you might have given me something else."

Solution
We need to make sure that the thing we get is really a toy (a clickable element) before we play with it.

In code, we can check like this:

Example in ReactJS:

function MyComponent() {
  const handleClick = (event: React.MouseEvent) => {
    const target = event.target; // This is like the thing you're clicking
    // Check if it's an actual element (a toy we can play with!)
    if (target instanceof HTMLElement) {
      console.log("You clicked on: ", target.tagName); // Now we know it's a toy (an HTML element)
    } else {
      console.log("This is not something we can use!");
    }
  };

  return (
    <div>
      <button onClick={handleClick}>Click Me!</button>
      <span onClick={handleClick}>Or Me!</span>
    </div>
  );
}

Enter fullscreen mode Exit fullscreen mode

What's Happening:
When you click on something (like a button), the event gives us a thing.
We check if that thing is really a toy we can play with (an HTML element like a button or span).
If it is, we can play with it safely. If not, we just ignore it.
This way, we avoid confusing the computer and everything works perfectly!

Top comments (1)

Collapse
 
turingvangisms profile image
Turing

'EventTarget' is not assignable is one of the most annoying errors i get