簡體   English   中英

React-Redux-Firebase文檔中的json語法異常。 有效嗎

[英]Unusual json syntax in React-Redux-Firebase documentation. Is it valid?

React-Redux-Firebase的文檔提供了以下示例代碼。

import { compose } from 'redux'
import { connect } from 'react-redux'
import { firebaseConnect, populate } from 'react-redux-firebase'

const populates = [
  { child: 'owner', root: 'users' } // replace owner with user object
]

const enhance = compose(
  firebaseConnect([
    // passing populates parameter also creates all necessary child queries
    { path: 'todos', populates }
  ]),
  connect(({ firebase }) => ({
    // populate original from data within separate paths redux
    todos: populate(firebase, 'todos', populates),
    // firebase.ordered.todos or firebase.data.todos for unpopulated todos
  }))
)

export default enhance(SomeComponent)

我特別關注以下內容:

{ path: 'todos', populates }

我以前從未見過這種語法。 這是錯誤嗎? 還是有效的語法? 如果有效,請說明其含義以及工作原理。

這是新的ES6語法。 基本上,如果populates'abc' (僅作為示例),則

{ path: 'todos', populates }

手段

{ path: 'todos', populates: 'abc' }

但是, populates可以是可以在對象內部使用的任何有效值。

因此,在您的特定情況下,它將轉換為:

{
 path: 'todos',
 populates: [{
  child: 'owner',
  root: 'users'
 }]
}

參考: https : //ariya.io/2013/02/es6-and-object-literal-property-value-shorthand

是的,這是es6中的有效語法

{ path: 'todos', populates }

基本上,這就是

{ 
   path: 'todos',
   populates:  [
     { child: 'owner', root: 'users' }
   ]
}

請注意, populates是正在使用的變量,並且將變量名稱寫入對象,將名稱視為鍵,將值視為變量持有的任何值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM