typescript

371 阅读1分钟

通过阅读ts类型,可以学会如何使用某变量,这是ts的优点,也是写ts时应该考虑的问题

定义总state类型

let reducer = {home, profile};
type TypeState = {
    [key in keyof typeof reducer[key]: returnType<typeof reducer[key]>
}

redux里的state可以限制类型,action不用, 因为都一样的,只有type和payload

class的props有4个属性来源mapState, mapAction,路由,用户传入的其他属性

import RouteComponentProps from 'react-router';
type StateProps = returnType<typeof mapState>;
type DispatchProps = typeof Actions;
// RouteComponentProps是react-route提供的类型
interface IPrams {}
type RouteProps = RouteComponentProps<IPrarams>
}
// class的props类型
type Props = StateProps & DispatchProps & RouteProps