import React from 'react';
interface Prop {
children: React.ReactNode
}
class Person extends React.Component<Prop, {}> {
constructor(props: Prop) {
super(props);
this.state = {};
}
render() {
return (
<div>
// 这个地方报错
{ this.props.children({ x: 30, y: 40 }) }
</div>
);
}
}
(property) React.Component<Prop, {}, any>.props: Readonly<Prop> & Readonly<{
children?: React.ReactNode;
}>
不能调用可能是 "null" 或“未定义”的对象。ts(2723)
(property) children: React.ReactNode
不能调用可能是 "null" 或“未定义”的对象。ts(2723)
此表达式不可调用。
不可调用 "string | number | boolean | {} | ReactElement<any, string | ((props: any) => ReactElement<any, string | ... | (new (props: any) => Component<any, any, any>)> | null) | (new (props: any) => Component<...>)> | ReactNodeArray | ReactPortal" 类型的任何组成部分。ts(2349)
import React from 'react';
interface Prop {
children: React.ReactNode
}
class Person extends React.Component<Prop, {}> {
constructor(props: Prop) {
super(props);
this.state = {};
}
render() {
const props: any = this.props;
return (
<div>
// 这样不会报错
{ props.children({ x: 30, y: 40 }) }
</div>
);
}
}
** 勿喷我,觉得问题简单,不愿意回复的请退出去 **
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.