我有一个正在创建的应用程序,我想知道如何将变量插入到<Route path={insert variable here} component={myProfile}> 我正在尝试创建一个 myProfile 页面中,我正在尝试获取它,因此当他们单击链接时,它会将它们重定向到,http://mywebsite.com/userId但是当我尝试Route在path参数中创建一个变量,它不会返回我在该路径上尝试呈现的组件。
路由.js
import { Meteor } from "meteor/meteor"
import React from "react";
import { withRouter, Switch, BrowserRouter, Route, Redirect, Link } from "react-router-dom";
import Login from "../ui/authentication/Login";
import Signup from "../ui/authentication/Signup";
import Home from "../ui/Home";
import { SubjectRoutes } from "../ui/subjectRoutes/subjectRoutes";
import AddNote from "../ui/AddNote";
import myProfile from "../ui/myProfile";
import NotFound from "../ui/NotFound";
export default class Routes extends React.Component{
renderSubjectRoutes(subjects){
return subjects.map((subject) => {
return <Route key={subject.name} path={subject.path} component={subject.component}/>
})
}
render(){
return (
<div>
<BrowserRouter>
<Switch>
<Login path="/login" />
<Signup path="/signup" />
<Route path="/" component={Home} exact/>
{this.renderSubjectRoutes(SubjectRoutes)}
<AddNote path="/addNote"/>
<myProfile path={Meteor.userId()} /> //<-- Here
<NotFound />
</Switch>
</BrowserRouter>
</div>
)
}
}
Run Code Online (Sandbox Code Playgroud)
菜单.js
import { Meteor } from "meteor/meteor"
import React from "react";
import { withRouter, Link } from "react-router-dom";
import { SubjectRoutes } from "./subjectRoutes/subjectRoutes";
import AddNote from "./AddNote";
class Menu extends React.Component{
renderMenu(items){
return items.map((item) => {
return <p key={item.name}><Link to={item.path}>{item.name}</Link></p>
})
}
render(){
return(
<div>
<h1>Menu</h1>
{this.renderMenu(SubjectRoutes)}
<p><Link to="/addNote">Add a Note</Link></p>
<p><Link to={Meteor.userId()}>My Profile</Link></p>
</div>
)
}
}
export default withRouter(Menu)
Run Code Online (Sandbox Code Playgroud)
小智 7
您正在为自己创造更多的工作,这是向路由添加变量的错误方法。您要做的是添加params到您的路线。在您的情况下,您希望它看起来像这样。
<Route path="/user/:userId" />
Run Code Online (Sandbox Code Playgroud)
该:是什么表示,这是一个参数,准备渲染基础上的路径userId。所以如果你去路由/user/123- 它可以呈现用户 123 的数据。
这里有一些文档可以帮助你。
https://reacttraining.com/react-router/web/example/url-params
| 归档时间: |
|
| 查看次数: |
9241 次 |
| 最近记录: |