JedWatson / react-tappable

Tappable component for React

Home Page:http://jedwatson.github.io/react-tappable/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Why is `return false` required?

ljharb opened this issue · comments

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?

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

PRs accepted

@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?

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).

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.

@ljharb shall we close?

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 :-)