Reactjs React.isValidElement(obj)确定obj为React.ReactElement<;{}>;类型
我有下面的代码Reactjs React.isValidElement(obj)确定obj为React.ReactElement<;{}>;类型,reactjs,typescript,Reactjs,Typescript,我有下面的代码 // type def interface Props: { children: React.ReactNode } React.Children.map(this.props.children, child => { // uh-oh! if (React.isValidElement(child) && child.props.children) { // do sth } } 导致typescript错误的原因: 语义错误T
// type def
interface Props: { children: React.ReactNode }
React.Children.map(this.props.children, child => {
// uh-oh!
if (React.isValidElement(child) && child.props.children) {
// do sth
}
}
导致typescript错误的原因:
语义错误TS2339属性“children”在类型“{}”上不存在
执行前React.isValidElementisReact.React节点定义为:
type React.ReactNode =
| string
| number
| boolean
| {}
| React.ReactElement<any>
| React.ReactNodeArray
| React.ReactPortal
| null
| undefined
打字脚本:3.2.0
@类型/反应“^16.3.13”
@类型/react dom“^16.0.5”如果您知道所需的元素类型,可以将类型参数传递给react.isValidElement
替换此项:
React.isValidElement(child)
为此:
React.isValidElement<Props>(child)
React.isValidElement(子项)
React.isValidElement<Props>(child)