我有一个HOC,它像这样连接到redux:
const withSignIn = (WrappedComponent: React.FC<WithSignInProps>) => {
const mapStateToProps = ({ auth }: AuthRootState) => ({
error: auth.error,
loading: auth.loading
});
const mapDispatchToProps = {
signIn
};
return connect(mapStateToProps, mapDispatchToProps)(WrappedComponent);
};
export default withSignIn;
我在函数withSignIn
上缺少返回类型,但我不知道应该转换什么类型的函数,它在那里返回一个connect()
函数,有什么提示吗?
我想你在找什么https://redux.js.org/recipes/usage-with-typescript#typing-连接高阶组件
更准确地说,这条线是
const connector = connect(mapState, mapDispatch)
// The inferred type will look like:
// {isOn: boolean, toggleOn: () => void}
type PropsFromRedux = ConnectedProps<typeof connector>
type Props = PropsFromRedux & {
backgroundColor: string
}
所以我猜你返回的是
React.FC<WithSignInProps & PropsFromRedux>
我没有足够的代码自己尝试,告诉我它是否适合你:(