Altjs + ReactRouter项目的正确模式是什么?

时间:2016-04-06 20:01:16

标签: javascript reactjs react-router react-alt

我按照这个SurviveJS精彩指南制作了一个看板应用程序,开始了我的第一个反应应用程序。这涉及altjs作为助焊剂技术,非常简单易用。

作者建议使用AltContainer将商店链接到组件,这是一个简单的解决方案,可以将您的App组件(根组​​件)转换为以下内容:

/* ... */

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>
    );
  }
}

现在的问题是:当我使用反应路由器时,考虑采用nested routes方法,让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 个答案:

没有答案