Reactjs 当给定参数时,反应路由器不工作
在这里找不到问题,可能是打字错误,但我想我已经按照文档进行了操作 index.js:Reactjs 当给定参数时,反应路由器不工作,reactjs,react-router,Reactjs,React Router,在这里找不到问题,可能是打字错误,但我想我已经按照文档进行了操作 index.js: ReactDOM.render( <Router history={hashHistory}> <Route path="/" component={App}></Route> <Route path="/match:id" component={MatchFeedComponent}></Route> <Route
ReactDOM.render(
<Router history={hashHistory}>
<Route path="/" component={App}></Route>
<Route path="/match:id" component={MatchFeedComponent}></Route>
<Route path="/user" component={UserPageComponent}></Route>
<Route path="/comments" component={CommentHolderComponent}></Route>
<Route path="/post-talk" component={AddTalkComponent}></Route>
<Route path="/add-match" component={AddMatchComponent}></Route>
</Router>,
document.getElementById('app')
);
ReactDOM.render(
,
document.getElementById('app')
);
在我的
<Link to={{ pathname:"/match/", query: {id: this.id}}}>
我得到:
[react router]Location”/match/?id=-KXKIhpF8mdWDn9C5Tnd“不匹配任何路由
它在没有任何参数的情况下可以正常工作,但现在找不到它。React路由器通常无法处理“常规查询”,至少在设置时是这样。您的路由器需要类似于
/match/-KXKIhpF8mdWDn9C5Tnd
的内容,而不是/match/?id=-KXKIhpF8mdWDn9C5Tnd
。尝试将此链接作为您的链接
:
<Link to={`/match/${this.id}`}>
然后将路线更改为:
<Route path="/match/:id" component={MatchFeedComponent}></Route>
React路由器通常不能处理“常规查询”,至少不能处理您的设置方式。您的路由器需要类似于
/match/-KXKIhpF8mdWDn9C5Tnd
的内容,而不是/match/?id=-KXKIhpF8mdWDn9C5Tnd
。尝试将此链接作为您的链接
:
<Link to={`/match/${this.id}`}>
然后将路线更改为:
<Route path="/match/:id" component={MatchFeedComponent}></Route>
如果希望“id”成为查询字符串参数,则它不应出现在路由中。更改为:
<Route path="/match" component={MatchFeedComponent}></Route>
…然后从组件内部的props.location.query中提取id如果希望“id”成为查询字符串参数,则它不应出现在路由中。更改为:
<Route path="/match" component={MatchFeedComponent}></Route>
…然后从组件内部的props.location.query中提取id