Я не могу использовать метод static
внутри компонента класса, который подключен к Redux. Отчеты TypeScript
Argument of type 'typeof SAI' is not assignable to parameter of type 'ComponentType<IStateProps & IDispatchProps>'.
Type 'typeof SAI' is not assignable to type 'StatelessComponent<IStateProps & IDispatchProps>'.
Type 'typeof SAI' provides no match for the signature '(props: IStateProps & IDispatchProps & { children?: ReactNode; }, context?: any): ReactElement<any> | null'.
Контейнер:
export interface IStateProps {
saiList: ISaiList
}
const mapStateToProps = (state: IRootState) => ({
saiList: SaiListSelector(state)
});
export interface IDispatchProps {
getSai: () => Dispatch<AnyAction>;
postSai: (saiList: ISaiList) => Dispatch<AnyAction>;
}
const mapDispatchToProps = (dispatch: Dispatch) => ({
getSai: () => dispatch<any>(getSaiList()),
postSai: (saiList: ISaiList) => dispatch<any>(postSaiList(saiList))
});
export default connect(mapStateToProps, mapDispatchToProps)(SAI);
Составная часть:
interface ISAIState {
editActive: boolean;
localSai: ISaiList;
sortBy: string;
}
type ISaiProps = IStateProps & IDispatchProps;
export default class SAI extends React.Component<ISaiProps> {
public state: ISAIState = {
editActive: false,
localSai: [...this.props.saiList],
sortBy: 'default'
};
static getDerivedStateFromProps(props: ISaiProps, state: ISAIState) {
window.console.log(props, state);
}
Это проблема с @types/react-redux
, которая не актуальна или это что-то с моей стороны? Когда я комментирую
static getDerivedStateFromProps(props: ISaiProps, state: ISAIState) {
window.console.log(props, state);
}
метод, все работает нормально ...