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