我正在尝试摆脱打字稿反应代码中的重复,我想知道是否可以从已知的返回类型函数创建一个类型?
像这样:
const mapStateToProps = (state: StoreState) => ({settings: store.settings})
type Props = ReturnTypeOf<typeof mapStateToProps>
TypeScript 实际上正是使用这个作为手册中条件类型的示例:
type ReturnType<T> = T extends (...args: any[]) => infer R ? R : any;
对于您的示例:
const mapStateToProps = (state: StoreState) => ({settings: store.settings})
type Props = ReturnType<typeof mapStateToProps>