Что это в ES6 и что это значит? - PullRequest
0 голосов
/ 01 ноября 2018

я ссылаюсь на это: () => {}

Я понимаю, что функции стрелок являются новыми в ES6. Я также понимаю, что они автоматически связываются с родительским контекстом, используя ключевое слово this

так что если бы у меня было

class Person {

    classFunc = () => {

    }
}

это будет связано с родителем, и я мог бы использовать это, ссылаясь на родительскую область автоматически

но я иногда вижу это в коде () => {}, что это значит?

например

onClick={this.handleClick}

или

onClick={() => this.handleClick}

что делает второй? это анонимная функция?

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

ES6 - это обновленная версия Javascript, также известная как Javascript 2015. Вы можете найти гораздо больше об этом по этой ссылке -

https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_2015_support_in_Mozilla

Отвечая на ваш второй вопрос -

onClick={this.handleClick}

Это вызовет функцию handleClick, которая доступна в том же классе ES6.

onClick={() => this.handleClick}

Это вернет определение функции, и функция никогда не будет вызвана. Для вызова функции вы должны использовать вызов функции.

onClick={() => this.handleClick()}

Это позволит вам при необходимости передать дополнительные аргументы -

const temp1 = "args1";
.
.
.
onClick={() => this.handleClick(temp1)}

Надеюсь, это поможет.

0 голосов
/ 01 ноября 2018

Во втором он будет обрабатывать значение обратного вызова, возвращаемого функцией.

login((res) => {
   console.log(res);    //Hear you will get the res from API. 
})

До:

login(function(res){
   console.log(res); 
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...