首页 > 解决方案 > 子类型声明未在具有多个连接的 HOC 中编译

问题描述

我希望一些 React 子组件使用父级 mapStateToProps/mapDispatchToProps,并且每个组件都有自己的值。我无法构建组件。

我在子对象和父对象上都使用了连接,但是子对象没有被编译。

这是我的父类:

export class AbstractComponent<T extends BaseProps> extends 
   React.Component<T> {}

export function wrapWithBase<T extends BaseProps>(component: 
     React.ComponentClass<T>) {
 return mconnect(baseStateToProps, baseDispatchProps)(component);
}

这是我的孩子班:

const mapStateToProps = createStructuredSelector({
   currentStep2: currentstepSelector2
});

const mapDispatchToProps = {
  TestSample
};

export type SampleProps = ISampleProps &
 ReturnType<typeof mapStateToProps> &
 typeof mapDispatchToProps &
 BaseProps;


class SampleComponentC extends AbstractComponent<SampleProps> {
 public render(): JSX.Element {
   return (
    <></>
 );
 }
}

export const SampleComponent1 = wrapWithBase(
 mconnect(mapStateToProps, mapDispatchToProps)(SampleComponentC )
);

这是我使用子类的实际位置:

<SampleComponent1 />

我面临的问题是创建 SampleComponent1 的最后一行没有编译和抱怨 mapStateToProps 中的 props/states 和子组件中的 mapDispatchToProps 没有定义。

我已经尝试了很多方法来将 connect 方法转换为采用不同的 ReactComponent,但是当我使用该转换调用 connect 时,还会出现其他错误。

这里有什么明显的我想念的吗?

标签: reactjsreduxconnect

解决方案


推荐阅读