React 有一个传参没有打印出来,请问是为什么?
老司机你好,感谢您来帮助
● 问题1:请看这第4行,能打印出来。为什么第5行打出出来是undefind?
(在调试时还是显示有数据,这不是奇怪吗?)
● 这个参数是不是Rreact-router 这个路由传给它的?
▼下面是代码的片段
import React from 'react'
import { BrowserRouter, Route, Link } from 'react-router-dom';
import './App.css';
import Home from './page01/Home.js'
import About from './page01/About.js'
import Topics from './page01/Topics.js'
const App = () => (
<BrowserRouter >
<div>
<nav>
<ul>
<li><Link to="/">首页</Link></li>
<li><Link to="/about">关于</Link></li>
<li><Link to="/topics">主题列表</Link></li>
</ul>
</nav>
<main>
<Route exact path="/" component={Home}/>
<Route path="/about" component={About}/>{*/◀就这个组件/*}
<Route path="/topics" component={Topics}/>
</main>
</div>
</BrowserRouter>
)
export default App
-
import React from 'react';
//▼看就下面5行打出不来,4行可以打印出来
const About = ({ match }) => {
console.log(match);
console.log(arguments[0].match);
return <h2>关于</h2>
}
export default About
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
https://developer.mozilla.org...
不好意思没看到第二个问题,参数是
Route
组件传给他的箭头函数没有arguments参数,用 rest参数代替, (...arg)=>{}