Master-detail example
=====================
This example demonstrates how to use nested routes, ``Link`` component and data
dependencies to implement "master-detail" type of UI.
.. raw:: html
Implementation
--------------
Data dependencies mechanism expects that promises are returned. We will use
bluebird_ library which provides ES6 compatible promises for browsers (and
Node.js):
.. jsx::
var Promise = require('bluebird')
var React = require('react')
var RRouter = require('rrouter')
var Routes = RRouter.Routes
var Route = RRouter.Route
var Link = RRouter.Link
Now we define ``Master`` view which renders a list of links to ``Detail`` view
for each item:
.. jsx::
var Master = React.createClass({
getDefaultProps: function() {
return {detail: function() { }}
},
render: function() {
if (!this.props.items) {
return
Loading...
;
}
var items = this.props.items.map(function(id) {
return (