参考までにReact-Reduxスターターキット(https://github.com/davezuko/react-redux-starter-kit)を基本プロジェクトレイアウトとして使用しています。React-router:ネストされたPlainRouteでgetChildRoutesが実行されない
アイブ氏はTSP
という名前のルートを持って、私は私が小道具で上children
を通過します期待していますコンテナコンポーネント、上の減速を注入するgetComponent
とReduxのconnect()
を使用しています。
TSPルート定義内のgetChildRoutes
は決して呼び出されません。
ルートルータの設定:
import ApplicationLayout from '../layouts/ApplicationLayout';
import Home from './Home';
export const createRoutes = (store) => {
const routes = {
path: '/',
component: ApplicationLayout,
indexRoute: Home,
getChildRoutes (location, next) {
require.ensure([], (require) => {
next(null, [
require('./TSP').default(store),
require('./Home').default,
]);
});
}
};
return routes;
};
export default createRoutes;
ネストされたルータのコンフィグレーション(TSP):
import { injectReducer } from '../../store/reducers';
import Overview from './routes/Overview';
export default (store) => ({
path: '/tsp/:id',
indexRoute: Overview,
getComponent (nextState, next) {
require.ensure([
'./containers/TSPContainer',
'./modules/tsp'
], (require) => {
const TSP = require('./containers/TSPContainer').default;
const reducer = require('./modules/tsp').default;
injectReducer(store, { key: 'tsp', reducer });
next(null, TSP);
});
},
getChildRoutes (location, next) {
debugger
require.ensure([], (require) => {
next(null, [
// Provide store for async reducers and middleware
require('./routes/Offers').default(store),
require('./routes/Reviews').default(store)
]);
});
}
});
私はgetChildRoutes
内debugger
になったことがないのです。
何か助けていただければ幸いです。また、必要なファイルがあれば、追加することができます。
...いいえサイコロを試していません。ホームルートはうまくロードされているので、トップレベルのTSPルートもあります。しかし、TSPがロードされると、TSPコンストラクタのどこにも 'this.props.children'が見つかると' getChildRoutes'メソッドが呼び出されません見つけられる – chrsmllr