Giter Site home page Giter Site logo

Comments (7)

davidLeonardi avatar davidLeonardi commented on May 27, 2024

I think this is acceptabe.
For the sake of consistency please implement this using an emitter as i did
with the route change
On Sat, 30 Jan 2016 at 08:17, Eric Raio [email protected] wrote:

Currently, I have a redux/react application. I would love to be able to
respond to events whenever the router has pushed or popped an item on the
route stack.

if this sounds acceptable, it's very easy to implement and i can submit a
pull request.


Reply to this email directly or view it on GitHub
#15
.

from react-native-simple-router.

ericraio avatar ericraio commented on May 27, 2024

Yeah, that's what I was thinking, i'll submit a PR soon.

from react-native-simple-router.

ericraio avatar ericraio commented on May 27, 2024

@SEthX @charpeni
Hey guys, just catching up on the updates from #17

I like the idea better of using RN event emitter and replacing a dependency.

Yeah, I was wondering how to tap into navigators swipe to go back.

What's really nice about this approach is that it gives the developer the ability to add a ref to the router itself and respond to all push or pop events.

For people who use redux, they can maintain the state whenever a route changes if they chose to

componentDidMount() {
  this.refs.router.emitter.addListener("push", (route) => {
    // perform an operation for every push
  })
}

render() {
  return (
    <Router
      ref={"router"}
      ...
    />
  );
}

from react-native-simple-router.

davidLeonardi avatar davidLeonardi commented on May 27, 2024

Looks good to me.
My thoughts were the same, so the router could be the central point where devs would attatch their event handlers relative to all things navigation to, kind of like a facade.

Who gets to implement this?

from react-native-simple-router.

ericraio avatar ericraio commented on May 27, 2024

@SEthX haha, I can research how to implement this, thought you had a design in mind 🎯

from react-native-simple-router.

davidLeonardi avatar davidLeonardi commented on May 27, 2024

I've been looking at this. Unfortunately pop/push and such do not emit events at a navigator level, and as such there is nothing to attach to.
Another solution is to use AOP and to use advice to have before/after such events.

I'll implement this and lets see how it behaves :)

I've been looking at https://www.npmjs.com/package/aspect-js to add support for this, does anyone have any opinion on it?

from react-native-simple-router.

davidLeonardi avatar davidLeonardi commented on May 27, 2024

Implemented this in #41

from react-native-simple-router.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.