When click element want to track user click behavior in rootHandler. eg:
- When click App3. becase of App3 has bind onClick event, so track it.
- When click App1, App2. becase of App1, App2 does not bind onClick event, so does not track it.
export default function App() {
const rootHandler = (e) => {
if (e.hasBindOnClick) {
console.log("track", e.target.textContent);
}
};
const click3 = (e) => {
e.hasBindOnClick = true;
console.log("click3", e);
};
return (
<div className="root" onClick={rootHandler}>
<div className="App1">App1</div>
<div className="App2">App2</div>
<div className="App3" onClick={click3}>
App3
</div>
</div>
);
}
Now, I need set hasBindOnClick flag in each click handler, but there are so many handler in our project. Is there some universial way to do this?
https://codesandbox.io/s/jolly-meadow-hgm5t4?file=/src/App.js:24-496