React Base Fiddle (JSX)
Starting point for creating JSFiddles with React. This uses React with Addons.
by Minjun Kim
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js"></script>
<script src="https://fb.me/react-with-addons-0.14.6.js"></script>
<script src="https://fb.me/react-dom-0.14.6.js"></script>
<script src=" https://cdnjs.cloudflare.com/ajax/libs/react-router/2.0.1/ReactRouter.js"></script>
<script src="https://facebook.github.io/react/js/jsfiddle-integration-babel.js"></script>
<div id="app">
<!-- This element's contents will be replaced with your component. -->
</div>
JavaScript 1.7
var ReactTransitionGroup = React.addons.TransitionGroup;
var Router = ReactRouter;
var Route = Router.Route, DefaultRoute = Router.DefaultRoute,
Link=Router.Link, RouteHandler = Router.RouteHandler;
var App = React.createClass({
mixins: [Router.State],
componentDidMount: function() {
},
render: function() {
var name = this.getRoutes().reverse()[0].name;
return (
<div>
<ul>
<li><Link to="view1">View1 link</Link></li>
<li><Link to="view2">View2 link</Link></li>
</ul>
<ReactTransitionGroup component="div">
<RouteHandler key={name}/>
</ReactTransitionGroup>
</div>
);
}
});
var View1 = React.createClass({
componentWillLeave: function(cb) {
console.log('View1 will leave');
setTimeout(cb, 1);
},
render: function() {
return (
<div>View 1 content</div>
);
}
});
var View2 = React.createClass({
componentWillLeave: function(cb) {
console.log('View2 will leave');
setTimeout(cb, 1);
},
render: function() {
return (
<div>View 2 content</div>
);
}
});
var routes = (
<Route name="app" path="/" handler={App}>
<Route name="view1" handler={View1}/>
<Route name="view2" handler={View2}/>
</Route>
);
Router.run(routes, function (Handler) {
React.render(<Handler/>, document.getElementById('app'));
});