Skip to content

Why is return false required? #74

Description

@ljharb

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?

Activity

  1. nmn commented on Apr 30, 2016

    @nmn
    Contributor

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

  2. dcousens commented on May 8, 2017

    @dcousens
    Collaborator

    PRs accepted

  3. ljharb commented on May 17, 2017

    @ljharb
    Author

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

  4. dcousens commented on May 17, 2017

    @dcousens
    Collaborator

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

  5. ljharb commented on May 17, 2017

    @ljharb
    Author

    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.

  6. dcousens commented on Apr 3, 2018

    @dcousens
    Collaborator

    @ljharb shall we close?

  7. ljharb commented on Apr 4, 2018

    @ljharb
    Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions