我在我的应用程序中使用react-router进行路由。这是路由器配置。
let routes = {
path : "/",
onEnter : ({},replace) => replace('/home'),
childRoutes : [
{
path : "home",
component : App,
indexRoute : {component : Landing},
childRoutes : [ ]
}
]
}
当我尝试加载应用程序时,我得到RangeError: Maximum call stack size exceeded
。根据我的理解,这是因为onEnter" /"每当我试图击中任何东西时都会运行。有没有办法只有当我达到完全匹配时才会执行" /"而不是每一次?
答案 0 :(得分:3)
使用indexRoute
重定向到主路由(请参阅index redirects上一个示例):
let routes = {
path : "/",
indexRoute: { onEnter: (nextState, replace) => replace('/home') },
childRoutes : [
{
path : "home",
component : App,
indexRoute : {component : Landing},
childRoutes : [ ]
}
]
}