使用打字稿作为语言的反应,我已经声明了一个带有约束的类。我需要对其应用connect方法
import * as React from 'react';
import { connect } from 'react-redux';
import { initAskadeFiles } from '../Entities/Askade/Askade.Actions';
import { Dispatch } from 'redux';
interface IProp<T> {
PropOne: T
}
interface IState<T> {
StateOne: T
}
class BaseEdit<T> extends React.Component<IProp<T>, IState<T>> {
}
export function mapDispatchToProps(dispatch: Dispatch, ownProps: any) {
return {
InsertItem: () => dispatch(initAskadeFiles())
}
}
export default connect(null, mapDispatchToProps)(BaseEdit);
在下面的调用组件中是语法
import * as React from 'react';
import BaseEditSample from './BaseEditSample';
import { City } from '../Components/GridFunctionality/City';
export class ComplexEditSample extends React.Component {
public render(): any {
<BaseEditSample<City> />
}
}
当我使用传递City的语法时,出现错误
我在这个方面缺少什么,我需要redux与约束一起连接到该组件?谢谢
[ts]预期0个类型参数,但得到1个。
答案 0 :(得分:1)
首先,您可以将操作直接传递给连接,而无需使用mapDispatchToProps,如下所示:
export default connect(mapStateToProps, { state, actions })(Component);`
然后在您的组件中使用导入的动作和状态:
type ComponentProps = {state, actions};
export default class Component extends React.Component<ComponentProps> {
render() {
const {
data,
actions,
} = this.props
return (...)
}