我确信我缺少一些愚蠢的东西,但是我无法让我的TypeScript编译器编译一个相当简单的React组件。我正在为我的文件使用.tsx
文件扩展名,TypeScript应该可以通过我的webpack配置来处理。我收到以下错误:ERROR in ./src/App.tsx
(36,16): error TS2339: Property 'todos' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<ToDosList> & Readonly<{ children?: ReactNode; }> &...'.
以下是我的代码。我试过隐式设置组件的状态(意思是没有设置状态:App.State)并明确地给state
一种App.State
类型,但似乎都不起作用。
import * as React from 'react';
import ToDosList from './components/todos_list';
const todos = [
{
task: 'Make React tutorial',
is_completed: false
},
{
task: 'Eat Dinner',
is_completed: true
}
];
namespace App {
export interface Props {
}
export interface State {
todos: any
}
}
export default class App extends React.Component<App.Props, App.State> {
constructor(props) {
super(props);
this.state = { todos: todos };
}
render() {
return (
<div>
<h1>React ToDos App</h1>
<ToDosList todos={this.state.todos} />
</div>
);
}
}