我与路由,BrowserRouter,通过页面的构建重定向存在一些冲突。
第一个检测到的问题是我是否未配置基本名称或
basename={'/'}
然后,当我进行构建时,我得到了空白页。
现在,如果我放basename={window.location.pathname || ''}
<BrowserRouter basename={window.location.pathname || ''}>
<App />
</BrowserRouter>
然后,当我进行构建时,我的项目正常工作。
另一个冲突是,如果我放
<Switch>
<Redirect exact from="/" to="test" component={ test } />
<Route path="/" exact component={ test } />
<Route path="/test2" component={ test2 } />
<Route path="/test3" component={ test3 } /
</Switch>
我添加重定向,因为我希望默认情况下加载路径。它可以工作,但是当我进行构建时,我又得到了空白页。如果在构建工作完成后删除“重定向”页面,但默认情况下我没有路径。怎么了?
此外,似乎重定向有一个错误,因为每次我重新加载页面时,都会影响路径
Ej:“ localhost:3000 / test
当我重新加载页面时:
"localhost:3000/test/test"
如果再次重新加载,我会得到:
"localhost:3000/test/test/test and so on.
在我的package.json中,我已经配置了“主页”:“。”,就像许多相关论坛中所建议的那样。
预先感谢您的帮助。
答案 0 :(得分:1)
我认为这会有所帮助
<BrowserRouter>
<Switch>
<Redirect from="/" to="/test" exact/>
<Route path ="/test" exact component ={test} />
<Route path="/test2" component={test2} />
<Route path="/test3" component={test3} />
</Switch>
</BrowserRouter>
您不需要此路线<Route path="/" exact component={ test } />
您还需要在/
之前添加test