Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有自己道具的已连接组件的TypeScript警告_Javascript_Reactjs_Typescript_Redux_React Redux - Fatal编程技术网

Javascript 带有自己道具的已连接组件的TypeScript警告

Javascript 带有自己道具的已连接组件的TypeScript警告,javascript,reactjs,typescript,redux,react-redux,Javascript,Reactjs,Typescript,Redux,React Redux,我有两个组件(智能和哑),如下所示: // Container component file... interface OwnProps { id: Id; } function mapStateToProps(state: State, ownProps: OwnProps) { return { isActive: ... }; } export const Container: any = connect(mapStateToProps, null)(DumbCompon

我有两个组件(智能和哑),如下所示:

// Container component file...

interface OwnProps {
  id: Id;
}

function mapStateToProps(state: State, ownProps: OwnProps) {
    return { isActive: ... };
}

export const Container: any = connect(mapStateToProps, null)(DumbComponent);

// Dumb component file...

interface DumbComponentProperties {
    isActive: boolean;
}

export class DumbComponent extends React.Component<DumbComponentProperties, {}> {
    ...
}
//容器组件文件。。。
界面道具{
id:id;
}
函数mapStateToProps(状态:state,ownProps:ownProps){
返回{isActive:…};
}
export const Container:any=connect(mapStateToProps,null)(DumbComponent);
//哑组件文件。。。
接口组件属性{
isActive:布尔型;
}
导出类组件扩展了React.Component{
...
}
我在
connect
内部的
DumbComponent
下得到一个红色的蠕动警告:

类型为“typeof DumbComponent”的参数不能分配给的参数 输入'Component OwnProps&{isActive:boolean; }“…>


如果我通过
id?
id
设置为可选,这将修复错误。这看起来像是TypeScript认为
DumbComponent
也需要
OwnProps
类型,因为
id
是作为一个道具传递给它的?我不明白为什么会出现这种情况,不仅仅是属性
是活动的
被传递到
DumbComponent

我看不出您的代码有任何问题,但是键入函数mapStateToProps函数是一种很好的做法,比如

函数mapStateToProps(状态:state,ownProps:ownProps):DumbComponentProperties{
返回{isActive:…};
}

类型State和Id在哪里定义?它们是在商店中定义的。我不相信这些信息与我的问题有关。这很奇怪,因为如果我为这些类型填写简单的接口,代码实际上对我有效..嗯。。。。我会再看一看,但我想我只是几乎复制了所有东西,并更改了名称以匿名化这些东西