React 有一个传参没有打印出来,请问是为什么?

发布于 2022-09-06 08:56:39 字数 1497 浏览 18 评论 0

图片描述
老司机你好,感谢您来帮助

● 问题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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

笑饮青盏花 2022-09-13 08:56:39

箭头函数表达式的语法比函数表达式更短,并且不绑定自己的this,arguments,super或 new.target。这些函数表达式最适合用于非方法函数,并且它们不能用作构造函数。

https://developer.mozilla.org...

不好意思没看到第二个问题,参数是Route组件传给他的

好菇凉咱不稀罕他 2022-09-13 08:56:39

箭头函数没有arguments参数,用 rest参数代替, (...arg)=>{}

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文