2017-02-23 58 views
1

Я использую флюс, и я нашел ниже код не изящный. Разве я не могу пропустить здесь const? Есть ли способ сделать это одной линией?skip присвоение значения const

static getPropsFromStores(props) { 
    const { items } = CrudStore.getState(); 
    return { items }; 
} 
+0

вам действительно нужно уточнить всевозможное имущество снова? –

ответ

5

существующей линии:

const { items } = CrudStore.getState(); 

... это destructuring assignment эквивалент делать это:

const items = CrudStore.getState().items; 

В то время как это line:

return { items }; 

... использует сокращенную object literal эквивалентный этому:

return { items: items }; 

То есть, он создает и возвращает новый объект со свойством называется items со значением, установленным в любой существующей items переменной является.

Так одна линия способ возвращения объекта в формате {items: items} без создания const бы:

static getPropsFromStores(props) { 
    return { items: CrudStore.getState().items }; 
} 
+0

Что делать, если у меня есть это 'const {items, items_total, items_length} = CrudStore.getState();' будет ли один-лайнер по-прежнему иметь смысл? –

+1

Наверное, нет. Я имею в виду, вы, вероятно, не хотите говорить 'return {items: CrudStore.getState(). Items, items_total: CrudStore.getState(). Items_total, items_length: CrudStore.getState(). Items_length};'. Каким будет соответствующий возвращаемый оператор в вашем * существующем * коде? – nnnnnn

0

Написать это так:

+0

почему || Нулевой? –

 Смежные вопросы

  • Нет связанных вопросов^_^