Возможно не правильно сформулировал вопрос, сейчас на пальцах объясню что имею ввиду:
Вот мой роутер:
import React from 'react'
import { Route, IndexRedirect } from 'react-router'
import App from './containers/App'
import Publication from './containers/Publication';
import NotFound from './components/NotFound'
import PublicationList from './components/PublicationList';
import PublicationForm from './components/PublicationForm';
import PublicationSetting from './components/PublicationSetting';
export const routes = (
<div>
<Route path='/' component={App}>
<Route path='publications' component={Publication}>
<IndexRedirect to='list' />
<Route path='list' component={PublicationList} />
<Route path='form' component={PublicationForm} />
<Route path='setting' component={PublicationSetting} />
</Route>
<Route path='*' component={NotFound} />
</Route>
</div>
)
Внимение на контейнер "Publication" и на компонент "PublicationList".
Пользователь перешел по url /publications/list, сперва отработал естественно контейнер "Publication", где ему в
this.props.children
передается дочерний компонент "PublicationList".
Ествественно в "Publication" в рендере есть
{this.props.children}
Теперь вопрос, при инициализации контейнера "Publication", он получает начальное состояние, Как передать нужные данные из стейта в компонент
{this.props.children}
(PublicationList)?
Конечно есть компоненты внутри "Publication", которым можно передать состояние напрямую в props: и все работает, но как быть с динамическими компонентами, которые подключаются в зависимости от url?
Я пока не уточнял возможно ли это, добавить роуты и в контейнер "Publication", но мне кажется это приведет к хаосу, так как удобно, когда все роуты в одном файле и ты знаешь каким компонентом/контейнером отвечает приложение.
Вообщем как то так, прошу ткнуть, так как информацию не нашел.
UPD:
Неужели придется компоненты в контейнеры переводить и для каждого из них создавать свой редьюсер, экшен, константы? это же наплодит столько файлов.
Как вы решаете данный вопрос?