brickspert / blog

个人技术博客,博文写在 Issues 里。
4.07k stars 548 forks source link

学习中发现问题8.react-router章节 src/router/router.js 是否是少了 return() #11

Closed wmdzkey closed 6 years ago

wmdzkey commented 6 years ago

src/router/router.js

少了 return();

import React from 'react';

import {BrowserRouter as Router, Route, Switch, Link} from 'react-router-dom';

import Home from '../pages/Home/Home';
import Page1 from '../pages/Page1/Page1';

const getRouter = () => (
    return (
        <Router>
            <div>
                <ul>
                    <li><Link to="/">首页</Link></li>
                    <li><Link to="/page1">Page1</Link></li>
                </ul>
                <Switch>
                    <Route exact path="/" component={Home}/>
                    <Route path="/page1" component={Page1}/>
                </Switch>
            </div>
        </Router>
    );
);

export default getRouter;

这样写后 webpack-dev-server 才编译显示出来 确认下是这样的么?

brickspert commented 6 years ago

@wmdzkey 不用return的,es6 箭头函数,后面括号自带return的。

wmdzkey commented 6 years ago

=> {} 这段代码就被解析为没有任何行为并返回undefined的箭头函数。 => () 自带return 看了我才知道 我写成 ()=>{} 应该是()=>() 看来是要好好学ES6语法 谢谢~