Skip to content

Instantly share code, notes, and snippets.

@DenisIzmaylov
Created June 14, 2015 14:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DenisIzmaylov/138ffb5d169e83e3710c to your computer and use it in GitHub Desktop.
Save DenisIzmaylov/138ffb5d169e83e3710c to your computer and use it in GitHub Desktop.
My React routes implementation by Oct '14
var Router = require('director').Router;
var Dispatcher = require('flux2/dispatcher');
var React = require('react');
var Content = require('./components/content');
var routes = require('./routes');
React.render(
React.createElement(Content, null),
document.getElementById('content')
);
// Go Live
var router = new Router(routes);
router.init();
if (window.location.hash === '') {
window.location.hash = '/';
}
var React = require('react');
var PageLayout = require('./components/layouts/page');
var RegisterPage = require('./components/pages/register');
var FeedPage = require('./components/pages/feed');
var contentActions = require('./components/content/actions');
var userStore = require('./stores/user');
module.exports = {
'/': function () {
if (userStore.state.registered) {
window.location.hash = '#/feed';
} else {
window.location.hash = '#/register';
}
},
'/register': function () {
contentActions.setPage('register', [
<PageLayout key="page" title="Регистрация" breadcrumbs={false} leftSidebar={false}>
<RegisterPage />
</PageLayout>
]);
},
'/feed': function () {
if (!userStore.state.registered) {
window.location.hash = '#/register';
return;
}
contentActions.setPage('feed', [
<PageLayout key="page" title="Предложения">
<FeedPage key="feedPage" />
</PageLayout>
]);
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment