【发布时间】:2021-01-01 09:31:28
【问题描述】:
我希望在 typescript 中将 React Redux 连接到我的组件。我正在使用这些docs 作为模板。
我有以下类型来定义我在 Redux 存储中的状态(只有一个):
export interface rootState {
favourites: ImageThumbnail[]
}
我的组件:
...
interface StateProps {
favourites: NasaImageThumbnail[]
}
interface DispatchProps {
addFavourite: () => void
removeFavourite: () => void
}
interface OwnProps {
...
}
const mapState = (state: rootState) => ({
favourites: state.favourites
})
const mapDispatch = {
addFavourite: () => ({ type: 'ADD_FAVOURITE' }),
removeFavourite: () => ({ type: 'REMOVE_FAVOURITE' })
}
type combinedProps = StateProps & DispatchProps & OwnProps
//Component body
export default connect<StateProps, DispatchProps, OwnProps>(
mapState,
mapDispatch
)(Component)
connect 函数中的 mapState 产生以下错误:
没有重载匹配这个调用。最后一个重载给出了以下 错误。 '(state: rootState) => { favourites: ImageThumbnail[]; 类型的参数}' 不可分配给类型参数 'MapStateToPropsParam
'。 输入 '(state: rootState) => { favourites: ImageThumbnail[]; }' 不可分配给类型 'MapStateToPropsFactory '.
【问题讨论】:
标签: typescript react-native redux react-redux