Html 如何通过React路由器传递参数?
当我尝试使用Html 如何通过React路由器传递参数?,html,reactjs,react-router-dom,Html,Reactjs,React Router Dom,当我尝试使用react router dom传递一个参数时,我得到一个404 Not Found错误。如果删除该参数,它将正常工作。我想将用户名传递给页面,以便它可以动态更改 import React, { Component } from 'react' import "../css/App.css" import { BrowserRouter as Router, Switch, Route, withRouter } from 'react-router-dom' import Welc
react router dom
传递一个参数时,我得到一个404 Not Found
错误。如果删除该参数,它将正常工作。我想将用户名传递给页面,以便它可以动态更改
import React, { Component } from 'react'
import "../css/App.css"
import { BrowserRouter as Router, Switch, Route, withRouter } from 'react-router-dom'
import WelcomeVisitor from '../pages/WelcomeVisitor'
import ThankYou from '../pages/ThankYou'
import RabbitmqService, { connectRabbit } from '../rabbitmq/RabbitMQService'
function App(){
connectRabbit()
return (
<Router>
<div className="App">
<Switch>
<Route path="/thankyou" component={ThankYou}/>
<Route path="/welcome/:user" component={WelcomeVisitor}/>
</Switch>
</div>
</Router>
);
}
export default App
import React,{Component}来自“React”
导入“./css/App.css”
从“react Router dom”导入{BrowserRouter as Router,Switch,Route,withRouter}
从“../pages/WelcomeVisitor”导入WelcomeVisitor
从“../pages/Thankyu”导入Thankyu
从“../rabbitmq/RabbitmqService”导入RabbitmqService,{connectRabbit}
函数App(){
连接兔()
返回(
);
}
导出默认应用程序
欢迎访问组件:
import React from 'react'
import "../css/WelcomeScreen.css"
import Trapezoid from '../components/Trapezoid'
import GuestName from '../components/GuestName'
import Logo from '../components/Logo'
export default function WelcomeVisitor(props){
return (
<div className="parentView">
<Trapezoid />
<GuestName guestName={props.match.params.user}/>
<Logo />
</div>
)
}
import React from 'react'
import '../css/GuestName.css'
export default function GuestName(Guest){
console.log(Guest.guestName)
const name = Guest.guestName
return(
<div>
<h1 className="guestName"> {name} </h1>
</div>
)
}
从“React”导入React
导入“./css/WelcomeScreen.css”
从“../components/梯形”导入梯形
从“../components/GuestName”导入GuestName
从“../components/Logo”导入徽标
导出默认函数WelcomeVisitor(道具){
返回(
)
}
GuestName组件:
import React from 'react'
import "../css/WelcomeScreen.css"
import Trapezoid from '../components/Trapezoid'
import GuestName from '../components/GuestName'
import Logo from '../components/Logo'
export default function WelcomeVisitor(props){
return (
<div className="parentView">
<Trapezoid />
<GuestName guestName={props.match.params.user}/>
<Logo />
</div>
)
}
import React from 'react'
import '../css/GuestName.css'
export default function GuestName(Guest){
console.log(Guest.guestName)
const name = Guest.guestName
return(
<div>
<h1 className="guestName"> {name} </h1>
</div>
)
}
从“React”导入React
导入“../css/GuestName.css”
导出默认功能GuestName(Guest){
console.log(Guest.guestName)
const name=Guest.guestName
返回(
{name}
)
}
Index.js
import React from 'react';
import ReactDOM from 'react-dom';
import App from './components/App';
ReactDOM.render( <App /> , document.getElementById('app'));
从“React”导入React;
从“react dom”导入react dom;
从“./components/App”导入应用程序;
ReactDOM.render(,document.getElementById('app'));
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<script src="//cdnjs.cloudflare.com/ajax/libs/stomp.js/2.3.3/stomp.min.js"></script>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>My React App</title>
</head>
<body>
<div id="app"></div>
</body>
</html>
我的React应用程序
例如,当我输入
http://localhost:8080/welcome/bob
我得到一个404,上面说请求url是请求url:http://localhost:8080/welcome/index_bundle.js
如果您可以升级到最新的react路由器,则不再需要内联处理组件。您可以使用:
但是,对于旧版本,您可以使用渲染道具(注意渲染道具只有匹配、位置和历史记录。您可以将变量传递给作为子元素的组件)
}>
它可能有拼写错误,但姚应该明白这个概念。(从手机中键入)。因此,如果我理解正确,如果您键入
/welcome/john
,即使您在路线中声明了path=“/welcome/:user
,您仍然可以使用404?请确保在通过路线时使用guestName
小写形式的guestName
props@UdenduAbasili正确,它仍然会得到404