JedWatson / react-tappable

Tappable component for React
http://jedwatson.github.io/react-tappable/
MIT License
863 stars 90 forks source link

Why is `return false` required? #74

Open ljharb opened 8 years ago

ljharb commented 8 years ago

Per https://github.com/JedWatson/react-tappable#native-events, it seems like you're recommending using return false from an event handler to prevent Tappable from handling the event.

However, it's a common best practice (and one my company enforces in its own codebase) to never return false from an event handler, and to always only explicitly call preventDefault/stopPropagation/stopImmediatePropagation on the event object.

Would it be possible to make Tappable respect preventDefault on the event object such that return false isn't required?

nmn commented 8 years ago

I don't see a problem with doing it. @jedwatson ?

dcousens commented 7 years ago

PRs accepted

ljharb commented 7 years ago

@dcousens yes thanks, but given that that's the default on Github that's not particularly helpful :-) could you perhaps point me to the part of the code I should start looking at?

dcousens commented 7 years ago

https://github.com/JedWatson/react-tappable/blob/master/src/TappableMixin.js#L68 - however I'll need a test case to understand, as at this stage, I don't understand why that advice is there unless you're somehow handling onTouchStart yourself (outside of this module).

ljharb commented 7 years ago

Thanks! For one, capturing all touch events that bubble up to document, for logging purposes. return false stops propagation, which is almost never necessary, and kills this use case.

dcousens commented 6 years ago

@ljharb shall we close?

ljharb commented 6 years ago

I’d prefer it remain open until someone (myself, maintainers, or someone else) can fix it. That the issue is old doesn’t make it any less of an issue :-)