子ルートにリダイレクトしたい場合は、設定値を確認しています。いつものように表示するだけではありません。コードは期待どおりにURLを更新しますが、無限ループに入ります。React Router onEnter関数 "Uncaught RangeError:最大呼び出しスタックサイズを超過しました"
index.js
import React from 'react'
import { render } from 'react-dom'
import { Router, Route, browserHistory, IndexRoute } from 'react-router'
import App from './modules/App'
import About from './modules/About'
import Map from './modules/Map'
import Maps from './modules/Maps'
import Home from './modules/Home'
import { settings } from './appconfig.js';
function checkDefaultFloor(){
if (settings.floorUrl){
console.log(settings.floorUrl);
browserHistory.push('/maps/'+ settings.floorUrl);
}
}
render((
<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={Home}/>
<Route path="/maps" component={Maps} onEnter={checkDefaultFloor}>
<Route path="/maps/:mapName" component={Map}/>
</Route>
<Route path="/about" component={About}/>
</Route>
</Router>
), document.getElementById('app'))
は>> componentDidMountに機能を移動する - は私 – jriggs
のために働いていたと他の回答を見てください私はそれがうまくいくのが好きです。 – lustoykov
試してみましたが、同じエラーを投げていました – jriggs