функция стрелки javascript с помощью () - PullRequest
0 голосов
/ 13 июня 2018

Я знаю, что функция стрелки вернется для меня, если ключевое слово return не найдено в теле функции.Но я видел это

export default handleActions({
  [SET_LOADING]: (state, { payload }) => ({
    ...state, loading: payload
  })
})

Что здесь ({})?{} это объект, как я могу увидеть, что находится в полезной нагрузке или состоянии?Я сделал это

export default handleActions({
  [SET_LOADING]: (state, { payload }) => {
     console.log(state) //not called
    return {...state, loading: payload}
  })
}

Они оба идентичны?

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Если вы хотите использовать функцию стрелки для возврата литерала объекта, вам нужно обернуть тело в ()

Т.е.

const first = (x, y) => x * y // Standard stuff
const second = (x, y) => {foo: x, bar: y} // Wrong!
const second = (x, y) => ({foo: x, bar: y}) // Correct, returning an object literal

См. Расширенный синтаксис раздел документации.

0 голосов
/ 13 июня 2018

function f({ name }){
	console.log(name);
}

let human = {name: 'a', age: 27}
f(human)

Простая демонстрация, как указано выше.Мы определим параметр для функции f, как указано выше, который принимает один параметр, объект, который имеет свойство name.Но для этого метода мы заботимся только об имени, а не о возрасте.Таким образом, мы можем использовать деструктуризацию объектов, чтобы сосредоточиться только на одном конкретном свойстве

. Ниже приведен способ без деструктуризации, для вашего лучшего понимания

function f(humanParam){
    	console.log(humanParam.name);
    }

    let human = {name: 'a', age: 27}
    f(human)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...