網站首頁 編程語言 正文
總覽
當我們為相同的組件傳遞相同的屬性多次時,就會導致"No duplicate props allowed"
警告。為了解決該警告,請確保只傳遞一次該屬性。比如說,如果傳遞多次className
屬性,將它們連接成一個空格分隔的字符串。
下面的示例用來展示如何導致警告的。
const App = () => { // ?? JSX elements cannot have multiple attributes with the same name.ts(17001) // No duplicate props allowed eslintreact/jsx-no-duplicate-props return ( <div> <Button text="Click" text="Submit" /> </div> ); }; function Button({text}) { return <button onClick={() => console.log('button clicked')}>{text}</button>; } export default App;
代碼片段中的問題在于,我們為Button
組件傳遞了兩次text
屬性。這是不被允許的,因為第二個text
屬性會覆蓋第一個。
請確保每個屬性只傳遞給同一個組件一次。
const App = () => { // ??? only pass text prop once return ( <div> <Button text="Submit" /> </div> ); }; function Button({text}) { return <button onClick={() => console.log('button clicked')}>{text}</button>; } export default App;
className
如果你在試圖傳遞多個className
屬性時得到了錯誤,你必須將它們串聯成一個字符串,并且只傳遞一次屬性。
const App = () => { return ( <div> <h2 className="my-class-1 my-class-2 my-class-3">Hello world</h2> </div> ); }; export default App;
我們不需要傳遞多個className
屬性,而是要在我們為className
屬性設置的字符串中傳遞多個以空格分隔的類。
如果你需要在一個字符串屬性中插入變量,請使用模板字面量。
const App = () => { const class1 = 'bg-lime'; const class2 = 'text-white'; return ( <div> <h2 className={`padding-3 ${class1} ${class2}`}>Hello world</h2> </div> ); }; export default App;
需要注意的是,模板字面量使用反斜線``,而不是單引號。美元符號大括號${}
語法里的表達式,將被替換成class1
和class2
變量的實際值。
總結
為了解決該錯誤,我們要確保相同的屬性只傳遞一次。如果傳遞多次className
屬性,將它們連接成一個空格分隔的字符串。
原文鏈接:https://juejin.cn/post/7128405783384948773
相關推薦
- 2022-10-29 css屬性選擇器*=與~=的區別
- 2022-06-07 Python必備技巧之函數的使用詳解_python
- 2023-04-27 Redisson分布式限流的實現原理解析_Redis
- 2022-10-13 詳解python-opencv?常用函數_python
- 2022-05-25 Flutter中抽屜組件Drawer使用詳解_Android
- 2022-12-11 C語言計算分段函數問題_C 語言
- 2022-04-01 用C語言實現推箱子游戲實例_C 語言
- 2022-06-16 golang組件swagger生成接口文檔實踐示例_Golang
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支