Concider this:
MyComponent = React.createFactory React.createClass
displayName: 'MyComponent'
propTypes:
comp: React.PropTypes.element
render: ->
div {},
this.props.comp {id: 'dummy1'}
AppView = React.createClass
render: ->
MyComponent {comp: React.DOM.input}
这会引发以下错误:
Warning: Failed propType: Invalid prop `comp` supplied to `MyComponent`,
expected a ReactElement. Check the render method of `Radium(AppView)`.
我是否错过了解文档https://facebook.github.io/react/docs/reusable-components.html? React.DOM.input
不是"元素"?
(React版本0.13.3)
答案 0 :(得分:2)
React.DOM.input
不是ReactElement,而是React类。
要简单地修复警告/错误消息,您必须更改
propTypes:
comp: React.PropTypes.element
到
propTypes:
comp: React.PropTypes.func
因为typeof React.DOM.input
是一个类,又名。 function
。
要创建React.PropTypes.element
,您必须致电React.DOM.input
。