Я использую React-Redux с машинописью и пытаюсь получить доступ к функции, определенной в mapDispatchToProps, однако получаю следующую ошибку:
Uncaught TypeError: this.props.getStoreList не является функцией
на t.componentDidMount
Два вовлеченных файла - это container.tsx и mapper.ts. Я попытался поместить содержимое файла mapper.ts в container.tsx на случай, если возникла проблема с импортом, однако это не исправляет ошибку.
Сценарий очень похож на этот предыдущий вопрос:
container.tsx
import * as React from 'react';
import { connect } from "react-redux";
import { mapStateToProps, mapDispatchToProps } from "./mapper";
import { IStoreListComponentProps } from './component';
export interface IStoreListContainerProps extends IStoreListComponentProps {
fetchStoreList?: () => void;
}
export class StoreListContainer extends React.Component<IStoreListContainerProps> {
componentDidMount() {
this.props.fetchStoreList();
}
render() {
return <div>Example</div>;
}
}
export default connect(mapStateToProps, mapDispatchToProps)(StoreListContainer);
mapper.ts
import { fetchStoreList } from "./actions/fetch-store-list";
import { IState } from "../../features/store/model";
export const mapDispatchToProps = (dispatch: any) => {
return {
getStoreList: () => { dispatch(fetchStoreList()); },
};
};
export const mapStateToProps = (state: IState) => {
return {
storeList: state.storeList
};
};
Спасибо за помощь!