解決React報錯No duplicate props allowed
總覽
當我們?yōu)橄嗤慕M件傳遞相同的屬性多次時,就會導致"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;
代碼片段中的問題在于,我們?yōu)?code>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屬性時得到了錯誤,你必須將它們串聯(lián)成一個字符串,并且只傳遞一次屬性。
const App = () => {
return (
<div>
<h2 className="my-class-1 my-class-2 my-class-3">Hello world</h2>
</div>
);
};
export default App;
我們不需要傳遞多個className屬性,而是要在我們?yōu)?code>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變量的實際值。
總結(jié)
為了解決該錯誤,我們要確保相同的屬性只傳遞一次。如果傳遞多次className屬性,將它們連接成一個空格分隔的字符串。
以上就是解決React報錯No duplicate props allowed的詳細內(nèi)容,更多關(guān)于React報錯duplicate props的資料請關(guān)注腳本之家其它相關(guān)文章!
- React報錯Type '() => JSX.Element[]' is not assignable to type FunctionComponent
- React報錯Element type is invalid解決案例
- React報錯Function?components?cannot?have?string?refs
- React報錯Too many re-renders解決
- 解決React報錯Property 'X' does not exist on type 'HTMLElement'
- Can't?perform?a?React?state?update?on?an?unmounted?component報錯解決
- Objects are not valid as a React child報錯解決
- 解決React報錯React.Children.only expected to receive single React element child
相關(guān)文章
react+antd4實現(xiàn)優(yōu)化大批量接口請求
這篇文章主要為大家詳細介紹了如何使用react hooks + antd4實現(xiàn)大批量接口請求的前端優(yōu)化,文中的示例代碼講解詳細,感興趣的小伙伴可以了解下2024-02-02
基于React Native 0.52實現(xiàn)輪播圖效果
這篇文章主要為大家詳細介紹了基于React Native 0.52實現(xiàn)輪播圖效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-11-11
React組件如何優(yōu)雅地處理異步數(shù)據(jù)詳解
這篇文章主要為大家介紹了React組件如何優(yōu)雅地處理異步數(shù)據(jù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10
react中如何對自己的組件使用setFieldsValue
react中如何對自己的組件使用setFieldsValue問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03

