React router can correctly route routes in WordPress.

This commit is contained in:
marco
2015-08-26 22:16:32 +02:00
parent 42fce973e1
commit 374eb0e004
3 changed files with 82 additions and 3 deletions

View File

@@ -0,0 +1,80 @@
define(
'newsletters',
['react', 'react-router', 'mailpoet'],
function(React, Router, MailPoet) {
var DefaultRoute = Router.DefaultRoute;
var Link = Router.Link;
var Route = Router.Route;
var RouteHandler = Router.RouteHandler;
var App = React.createClass({
render: function() {
return (
<div>
<header>
<ul>
<li>
<Link to="app">Dashboard</Link>
</li>
<li>
<Link to="inbox">Inbox</Link>
</li>
<li>
<Link to="calendar">Calendar</Link>
</li>
</ul>
Logged in as Marco
</header>
<RouteHandler/>
</div>
);
}
});
var Dashboard = React.createClass({
render: function () {
return (
<div>
<h1>Dashboard</h1>
</div>
);
}
});
var Inbox = React.createClass({
render: function () {
return (
<div>
<h1>Inbox</h1>
</div>
);
}
});
var Calendar = React.createClass({
render: function () {
return (
<div>
<h1>Calendar</h1>
</div>
);
}
});
var routes = (
<Route name="app" path="/" handler={App}>
<Route name="inbox" handler={Inbox}/>
<Route name="calendar" handler={Calendar}/>
<DefaultRoute handler={Dashboard}/>
</Route>
);
var hook = document.getElementById('newsletters');
if (hook) {
Router.run(routes, function(Handler) {
React.render(<Handler/>, hook);
});
}
});