问题与此非常相似,但我的重点是默认功能。(我是前端新手,如果有更正式的名称,请告诉我)
这是代码(我使用的是 TypeScript 2.5):
export const TestProps = {
Hello: (name: string) => {
console.log(name);
}
}
type TestPropsType = typeof TestProps;
export class TestComp extends React.Component<TestPropsType, {}>{
public render() {
this.props.Hello("world");
return <div>test</div>;
}
}
然后,当我尝试渲染此组件时:
ReactDOM.render(<TestComp />, document.getElementById("page"));
我收到这个错误;
TS2322:类型“{}”不可分配给类型“IntrinsicAttributes & IntrinsicClassAttributes & Readonly<{ children?: ReactNode; }> & ...'。类型 '{}' 不能分配给类型 'Readonly<{ Hello: (name: string) => void; }>'。
类型“{}”中缺少属性“Hello”。
我该如何解决这个问题?