Git Product home page Git Product logo

Comments (7)

garthk avatar garthk commented on April 25, 2024

+1 to a desire to pass props to the handler components.

I've checked a few of the examples, all of which sneak dependencies into the handler components via enclosed variables in getInitialState. Where'd you find documentation on passing props to them via the router?

from react-router.

garthk avatar garthk commented on April 25, 2024

Per #28, seems you just pass props to the Route, and it passes them on to its handler.

from react-router.

mjackson avatar mjackson commented on April 25, 2024

Props that are passed to the Route component that are not reserved for use by the router are passed along to the handler component. These are called "static" props because they are only declared once, when you first declare your routes.

@abrkn The API changed significantly in 0.2.0. Instead of using a Router you now just pass a Route directly to React.renderComponent. On the first pass, the handler's props are undefined. As soon as the route is mounted it runs all transition hooks needed to sync with the current URL. When this is done, it knows its props which include any static props that were passed to the Route.

Do you need to be able to pass static props through to the handler on the first render pass? If so, we could easily make that change.

from react-router.

garthk avatar garthk commented on April 25, 2024

Would that eliminate React's regular complaint on page load?

Warning: required prop activeRoute was not specified in App.

This is ~my fault; I added a propTypes entry for activeRoute in my top level route's handler to make sure I didn't screw up. I was surprised it was created for the first time without one.

from react-router.

mjackson avatar mjackson commented on April 25, 2024

No, it wouldn't. It's not ok to assume that activeRoute will always be there because the initial transition needs to happen when the page first loads.

For example, say you're visiting a page that requires auth, but the user isn't logged in. You'll probably have a willTransitionTo hook somewhere in the route hierarchy that does a transition.redirect('/login') as in the auth-flow example. So there's a short period of time when the page first loads where activeRoute is not defined because we're still running the initial transition.

from react-router.

mjackson avatar mjackson commented on April 25, 2024

@abrkn I believe this issue can be closed now. Can you confirm/deny?

from react-router.

ryanflorence avatar ryanflorence commented on April 25, 2024

This is a month old and appears to not be an issue anymore. Please re-open if I'm mistaken :)

from react-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.