2017-03-07 60 views
0

我碰到這行代碼走到今天,而學習陣營:這是什麼意思分配給JavaScript中的{...}對象?

import React, {Component, PropTypes } from 'react'; 

class App extends Component { 

    static propTypes = { 
     transactions: PropTypes.array, 
     summary: PropTypes.object, 
     gridFields: PropTypes.array, 
     actions: PropTypes.object 
    }; 
    componentWillMount() { 
     const { transactions, actions } = this.props; 
     actions.requestSum(transactions); 
    } 

    render() { 
     const { 
      transactions, 
      gridFields, 
      summary, 
      actions 
     } = this.props; 

     return (
      <div className="viewport"> 
      <Header addTodo={actions.addTodo} /> 
      <Grid fields={gridFields} data={transactions}> 
       <TransactionForm action={actions.addTransaction}/> 
       <TransactionSummary data={summary} fields={gridFields} /> 
      </Grid> 
      </div> 
     ); 
     } 
    } 

} 

但什麼是const {transactions, actions} = this.props是什麼意思?我習慣了這樣的事情:

const myVariable = 3; 

React如何知道在交易和操作中存儲什麼?

+1

谷歌 「的JavaScript解構」 – gyre

+0

這是[對象解構](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment#Object_destructuring)來自ES6。 – 4castle

回答

1

這個解構聲明

const {transactions, actions} = this.props; 

意味着類似如下:

const transactions = this.props.transactions, 
     actions = this.props.actions; 

更多解構理解頭部到這裏:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment

+0

如果您要回答已經被問及幾十次回答的問題,請嘗試通過提供規範,示例或文檔的鏈接來添加一些值。但實際上投票結束爲重複是可取的。 – 2017-03-07 01:52:56

+0

+1謝謝@Rikin至少在結束這個問題之前告訴我這是什麼名字。至少我現在可以正確地谷歌它。很高興有一些人希望能夠幫助他們,而不是全力以赴。 Sheeh。 – user3685285