相关疑难解决方法(0)

没有花括号的箭头功能

我是ES6和React的新手,我一直在看箭头功能.为什么有些箭头函数在胖箭头之后使用花括号而有些使用括号?例如:

const foo = (params) => (
    <span>
        <p>Content</p>
    </span>
);
Run Code Online (Sandbox Code Playgroud)

const handleBar = (e) => {
    e.preventDefault();
    dispatch('logout');
};
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助!

javascript ecmascript-6 react-jsx arrow-functions

47
推荐指数
6
解决办法
1万
查看次数

箭头功能中的卷曲括号

有人请解释以下内容:

我跟随丹阿布拉莫夫的讲座和做练习.

代码工作正常,但是当使用大括号编写以下特定函数时,测试失败**{ }**.

    case 'toggleTodo' :
        return (
            state.map( (one) => {
                oneTodo( one, action )
            })
        );
Run Code Online (Sandbox Code Playgroud)

相同的代码工作正常,没有花括号.

    case 'toggleTodo' :
        return (
            state.map( (one) => 
                oneTodo( one, action )
            )
        );
Run Code Online (Sandbox Code Playgroud)

这是JsBin.请参阅第31行.

javascript brackets curly-braces ecmascript-6 arrow-functions

16
推荐指数
2
解决办法
3122
查看次数

为什么我的箭头函数没有返回值?

我有一个箭头函数,看起来像这样(简化):

const f = arg => { arg.toUpperCase(); };
Run Code Online (Sandbox Code Playgroud)

但是当我打电话给它时,我得到undefined:

console.log(f("testing")); // undefined
Run Code Online (Sandbox Code Playgroud)

为什么?

例:

const f = arg => { arg.toUpperCase(); };
console.log(f("testing"));
Run Code Online (Sandbox Code Playgroud)


(注意:对于上面箭头函数的特定问题,这是一个干净的,规范的dupetarget .)

javascript ecmascript-6 arrow-functions

15
推荐指数
1
解决办法
939
查看次数

带括号的ES6箭头功能

我在代码中遇到了一个小问题,这让我感到困惑,并希望有人可以解释为什么会这样做.

代码1

sendText(){
    return this.http.get('/api')
        .map((response:Response) => response.json());
}
Run Code Online (Sandbox Code Playgroud)

代码2

sendText(){
    return this.http.get('/api').map((response:Response) => {
        response.json();
    });
}
Run Code Online (Sandbox Code Playgroud)

这两个代码之间的关键区别在于,在代码2中,我在箭头函数之后放置了括号,将我的任务添加到这些括号中,在代码1中,我将括号取出并将任务放在一行上.

我的问题是,为什么不从服务器端回来为未定义在未来我的目标代码2与angular2而提供的订阅方法代码1返回我怀疑的对象.

javascript ecmascript-6 angular

6
推荐指数
1
解决办法
2192
查看次数