Каков правильный шаблон для проекта Altjs + ReactRouter?

Я запустил свое первое приложение реагирования, следуя этому блестящему руководству SurviveJS по разработке приложения для канбана. Это включает в себя altjs как технологию потока, действительно простую в использовании.

Автор предлагает использовать AltContainer для связи магазинов с компонентами, это простое решение, которое превратит ваш компонент приложения (корневой) в нечто вроде этого:

/* ... */

export default class App extends React.Component {
  render = () => {
    return (
      <div>
        <AltContainer
          stores={[MyStoreOne]}
          inject={{
            myProps: () => MyStoreOne.getState().myProps
          }}
        >
          <ComponentOne/>
        </AltContainer>
        <AltContainer
          stores={[MyStoreTwo]}
          inject={{
            myProps: () => MyStoreTwo.getState().myProps
          }}
        >
          <ComponentTwo/>
        </AltContainer>
      </div>
    );
  }
}

Теперь возникает вопрос: когда я использую реагирующий маршрутизатор, как лучше всего разрешить AltContainers работать со своими связанными компонентами, учитывая подход с вложенными маршрутами?

/* ... */
import { Router, Route, browserHistory } from 'react-router';
import App from './components/App';

ReactDOM.render((
  <Router history={browserHistory}>
    <Route path="/" component={App}>
      <Route path="/one/:paramOne" component={ComponentOne}/>
      <Route path="/two/:paramTwo" component={ComponentTwo}/>
    </Route>
  </Router>
), document.getElementById('knots'));

Где я должен разместить свои AltContainers, теперь, когда компоненты вызываются непосредственно из маршрутизатора (а не из приложения)?

Перемещение логики потока непосредственно внутри подкомпонентов (таким образом, избегая AltContainers) является антипаттерном?

0 ответов

Другие вопросы по тегам