我是 TypeScript 的新手。我在渲染方法内显示 this.state.something
或将其分配给函数内的变量时遇到问题。
看看最重要的一段代码:
interface State {
playOrPause?: string;
}
class Player extends React.Component {
constructor() {
super();
this.state = {
playOrPause: 'Play'
};
}
render() {
return(
<div>
<button
ref={playPause => this.playPause = playPause}
title={this.state.playOrPause} // in this line I get an error
>
Play
</button>
</div>
);
}
}
错误说: [ts] Property 'playOrPause' does not exist on type 'ReadOnly<{}>'.
我试图将 playOrPause 属性声明为一种字符串类型,但它不起作用。
我在这里缺少什么使它起作用?
原文由 Maciej S. 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要声明您的组件正在使用 State 接口,它由 Typescript 的泛型使用。