我正在尝试按照react-router教程here尝试使用子路由进行导航,但它不起作用。
例如,给定此路线定义:
export default <Route path="wifi" component={ Wifi }>
<IndexRoute component={WifiView}/>
<Route path="list" component= {WifiListView}/>
<Route path="connect" component={WifiConnectView}/>
</Route>;
如果我们在"/"
并导航到"/wifi"
我们就是好人。然而,如果WifiView
来自"/wifi"
我们呼叫hasHistory.push('list')
它没有找到路线,则会显示"/"
。我假设路线是相对于它的当前位置,因为我没有使用hashHistory
但是没有被尊重。
该文件也说:
您还可以使用路由器在“上下文”中提供的路由器。第一, 你在组件中询问上下文,然后就可以使用它了......
但我没有看到任何提到在TypeScript中如何做到这一点,所以我使用静态_orderStatus = Request.QueryString["order"] != null ? Request.QueryString["order"] : _orderStatus != "" ? _orderStatus : "pending";
。
这看起来像新手问题,但我无处可问,因为建议的Discord频道都已经死了......任何人都可以帮忙吗?
谢谢!感谢任何帮助!
答案 0 :(得分:1)
好的,终于找到了对我的问题的回复......
hasHistory.push('list')
不起作用的原因。context.router
我们需要使用withRouter
高阶组件,但这些组件未在他们提供的TypeScript定义文件中公开。