1.0
react-router no longer sets a key on your routes. If you do need to set a key from a route handler, put it on a surrounding element.
return (
<div key={this.props.params.bookId}>
{this.props.children}
</div>
);
0.13
It’s now <ReactRouter.RouteHandler key="anything" />, but this is also no longer really needed due to changes in react-router. See the changelog for more details.
0.12
Currently, react-router sets a key on your handler based on the current route. When react does its diff, and notices a different key, it throws out the entire subtree both in virtual and real dom, and rerenders.
To prevent this, you can override react-router’s key when using activeRouteHandler()
this.props.activeRouteHandler({key: "anything"})