我在使用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现在是有效的。
我不知道这是怎么回事。有谁知道我的问题是什么?谢谢!
答案 0 :(得分:27)
您有以下界面:
interface AppProps {
humans: any;
stores: any;
}
您说App
必须在humans
和stores
中传递。不过,您要在<App />
中将其初始化为ReactDOM.render(<App />, document.getElementById('main'));
,而不使用属性。这是TypeScript,为您提供有关您所说的用心使用的错误。这是一个错误,比如有一个带参数的函数,但是调用它而不传递任何函数。
也许这些属性可选适合您?如果是这样声明:
interface AppProps {
humans?: any;
stores?: any;
}
否则提供它们,例如<App humans={123} stores={123} />
(人和商店的样本实例)。