delta-component
Version:
embeddable react component
48 lines (38 loc) • 1.46 kB
JavaScript
import React from 'react';
import { BrowserRouter as Router, Route } from 'react-router-dom';
import { Provider } from 'react-redux';
import { createStore, applyMiddleware } from 'redux';
import $ from 'jquery';
import reduxThunk from 'redux-thunk';
import pageReducer from './../../redux/reducers';
import EditorContainer from 'b:editor-container';
import Head from 'b:head';
// TODO: https://github.yandex-team.ru/lego/islands/pull/2304
import { decl } from 'islands/common.blocks/i-bem/i-bem.react.js';
const pageStore = createStore(pageReducer, applyMiddleware(reduxThunk));
export default decl(
{
block: 'app',
content() {
return <Router>
<div className="app">
<Route path="/" exact={true} render={({ match }) => (
<Provider store={pageStore}>
<div>
<Head />
</div>
</Provider>
)}/>
<Route path="/page/:id(.*)" render={({ match }) => (
<Provider store={pageStore}>
<div>
<Head />
<EditorContainer id={match.params.id}/>
</div>
</Provider>
)}/>
</div>
</Router>
}
}
);