类型错误中缺少属性

时间:2016-10-07 02:57:01

标签: reactjs typescript

我在使用React项目时遇到了问题。大多数问题源于我试图在他们使用Javascript的Typescript中实现它。这个要点是我的app.tsx文件。

https://gist.github.com/jjuel/59eed01cccca0a7b4f486181f2a14c6c

当我运行这个时,我得到与界面有关的错误。

   ./app/app.tsx中的错误   (38,17):错误TS2324:属性'人类'缺少类型' IntrinsicAttributes& IntrinsicClassAttributes& AppProps& {children?:ReactElement | ...'。

      ./app/app.tsx中的错误   (38,17):错误TS2324:物业'商店'缺少类型' IntrinsicAttributes& IntrinsicClassAttributes& AppProps& {children?:ReactElement | ...'。   webpack:bundle现在是有效的。

我不知道这是怎么回事。有谁知道我的问题是什么?谢谢!

1 个答案:

答案 0 :(得分:27)

您有以下界面:

interface AppProps {
    humans: any;
    stores: any;
}

您说App必须在humansstores中传递。不过,您要在<App /> 中将其初始化为ReactDOM.render(<App />, document.getElementById('main'));,而不使用属性。这是TypeScript,为您提供有关您所说的用心使用的错误。这是一个错误,比如有一个带参数的函数,但是调用它而不传递任何函数。

修复

也许这些属性可选适合您?如果是这样声明:

interface AppProps {
    humans?: any;
    stores?: any;
}

否则提供它们,例如<App humans={123} stores={123} />(人和商店的样本实例)。