是否可以將道具傳遞到子組件,其中{ ..this.props }
用於更簡潔的語法,但排除某些道具如className
或id
?傳輸{..this.props}但排除某些道具
6
A
回答
3
如果你不介意使用第三方庫,你也可以使用lodash的omit
功能:
{ ..._.omit(this.props, ['className', 'id']) }
主要優點:不像madox2的建議,你不要任意變量名稱污染的範圍只是爲了避免將某些道具傳遞給兒童組件。而且,在編寫這個答案的時候,你也沒有處理實驗性的ES.next功能。
16
可以採用拆解做好這項工作:
const { className, id, ...newProps } = this.props; // eslint-disable-line
// `newProps` variable does not contain `className` and `id` properties
由於這句法目前ECMAScript的提案(REST /傳播屬性),你將需要transpile代碼啓用該功能(例如,使用巴貝爾)。
相關問題
- 1. 將道具添加到... this.props
- 2. ProxyPass,但排除某些子目錄
- 3. SVN導出但排除某些文件?
- 4. SQL計數,但排除某些行
- 5. ReactJS:傳輸道具
- 6. SQL排除某些結果
- 7. 排除在某些VBS子
- 8. SQL - 排除某些時段
- 9. JQuery排除某些HTML行
- 10. 排除某些模式?
- 11. xsl:number - 排除某些元素
- 12. validates_format_of排除某些模式
- 13. Solr:排除某些文件被排序
- 14. 在開發環境中排除管道中的某些資產?
- 15. 合併兩個Git分支,但排除某些文件
- 16. 委託事件但排除子div內的某些元素
- 17. 使用JQuery過濾HTML內容但排除某些元素
- 18. 具有某些特定排除條件的Hive查詢
- 19. 如何排除具有某些屬性的元素?
- 20. jQuery - 如果語句排除某些輸入
- 21. 如何在JSON輸出中排除某些modelAttributes(使用ContentNegotiatingViewResolver)
- 22. 從某些按鈕/輸入中排除jquery ui樣式
- 23. javascript getElementsByTagName排除某些標記
- 24. Freebase查詢 - 排除某些值
- 25. 如何排除Knockoutjs toJS()某些性質
- 26. 排除SQL查詢的某些結果
- 27. 排除某些用戶的鏈接PHP
- 28. 騾 - 排除日誌中的某些行
- 29. 模板類C++ - 排除某些類型
- 30. 如何用svn2git排除某些分支?
這真是太神奇了,但有沒有簡單的方法沒有eslint和喜歡抱怨使用這種模式的未使用的變量聲明(除了禁用此規則)? – m90
@madox這是很好的,但有點需要我手動處理道具,因爲我想利用所有這些道具通過,只有排除我不需要的道具,而不是包括我需要的道具 – Ilja
@ m90添加評論,該特定行禁用eslint – madox2