2017-06-19 72 views
0

我想這兩行寫爲一個:有沒有辦法將這兩條線合併爲一個?

const { page, totalPages, changePage } = this.props; 
const pagination = { page, totalPages, changePage }; 

我無法找到任何地方如何做到這一點,它纔有意義,我能做到這一點的一條線。

我希望這樣的事情

const pagination = { page, totalPages, changePage } = this.props; 
+0

這顯然是這樣做的顯而易見的方法,但我希望每次都不要重複'this.props'。 – Andreykul

+0

@MayankShukla「正確的語法」!=「將工作」 – Bergi

回答

1

不,你不能做到這一點你現在是正確的方式。你在濫用解構,它應該被用來從一個對象中獲取字段並將它們變成局部變量。你正在做這個,然後立即將它們轉換回一個對象。

要在一個步驟中完成此操作,只需創建一個新對象並從舊對象中引用所需的字段。

const pagination = { page: this.props.page, totalPages: this.props.totalPages, changePage: this.props.changePage } 
+0

'const'應該照顧'無用'變量。我只是不想重複'this.props'一遍又一遍,並希望有一種簡單的方法將這三個屬性提取到一個單獨的對象中。 – Andreykul

+1

@Andreykul你不能。你正在尋找不存在的語法糖。我向你展示的是最簡單的方法。 – Soviut

+0

希望得到一些糖:( – Andreykul

0

你可以像這樣指定,但我不明白這樣指定的原因。

const pagination = { page, totalPages, changePage } = this.props; 
+0

雖然有效的語法,它不會做你想做的事情,所以**沒有**。 – Bergi

+0

@Bergi你能解釋它會失敗的地方嗎,我只是試過,它正在工作想想,請查看:https://jsfiddle.net/mayankshukla5031/2kmjy6s0/ –

+0

@MayankShukla https://jsfiddle.net/2kmjy6s0/1/(預期的結果將是'false,undefined,undefined,undefined') – Bergi

相關問題