在React键入

时间:2017-08-01 00:22:25

标签: javascript reactjs typescript react-native webpack

我确信我缺少一些愚蠢的东西,但是我无法让我的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>
        );
    }
}

0 个答案:

没有答案