7
A
回答
5
您可以檢查通過的財產是Element
實例:
Element接口表示文檔的對象。該接口描述了各種元素共有的方法和屬性。在從Element繼承的接口中描述了特定行爲,但添加了其他功能。例如,HTMLElement接口是HTML元素的基本接口,而SVGElement接口是所有SVG元素的基礎。
class Some extends React.Component {
render() {
return (
<div> Hello </div>
);
}
}
const validateDOMElem = (props, propName, componentName) => {
if (props[propName] instanceof Element === false) {
return new Error(
'Invalid prop `' + propName + '` supplied to' +
' `' + componentName + '`. Validation failed.'
);
}
}
Some.propTypes = {
htmlElem: validateDOMElem,
};
const para = document.getElementById('para');
ReactDOM.render(<Some htmlElem={para} />, document.getElementById('app'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.js"></script>
<div id="app"></div>
<p id="para"></p>
+7
也可以不創建自定義驗證程序並使用PropTypes.instanceOf(Element) –
1
例如與列表組件:
MyList.propTypes = {
children: PropTypes.instanceOf(<li></li>),
}
爲我工作。
相關問題
- 1. Auth0和React PropTypes
- 2. react v15 PropTypes和CreateClass
- 3. React propTypes組件類?
- 4. 將Javascript DOM元素轉換爲React
- 5. 將DOM元素插入React組件
- 6. 如何將React元素轉換爲dom元素
- 7. 如何測試React組件propTypes驗證
- 8. ReactJS不改變DOM元素
- 9. 獲取本地DOM元素
- 10. JavaScript DOM元素
- 11. DOM元素
- 12. 從DOM元素
- 13. 使用字符串鍵名與React PropTypes
- 14. React - 組件更新後如何獲得真正的DOM元素
- 15. 在React中訪問子元素的DOM節點
- 16. 通過來自React組件的文本選擇DOM元素
- 17. 更新DOM元素需要React JS中的列表器
- 18. 在React組件的渲染函數中返回DOM元素
- 19. React Native - 動態添加元素到DOM上的按鈕按
- 20. React + Redux:狀態變化後滾動DOM元素
- 21. 通過DOM元素作爲道具在React
- 22. 如何檢查Dom元素或React組件
- 23. 如何內聯樣式子DOM元素React?
- 24. 是否有可能用React替換DOM元素?
- 25. React錯誤:目標容器不是DOM元素
- 26. React Redux處理DOM元素enable-disable的方式
- 27. React Native Inspect元素
- 28. 訪問DOM元素
- 29. jQuery的DOM元素
- 30. 訂購DOM元素
您是指DOM元素的類型?檢查特定的類型可以通過一個自定義的prop檢查器對'someNode.constructor.name'完成。 –
@MatthewHerbst不,我的意思是*任何* DOM元素。 'div','span','input',不管。 – mpen
'React.PropTypes.node'? – elmeister