所以让我们看一下我的代码。描述不是很好。
这是界面:
interface IModel<T = any> {
effects: {
[key: string]: (getState: () => T) => void;
};
}
interface IState {
name: string;
age: number;
}
这是错误的,但我不知道为什么:
class Model implements IModel<IState> {
effects = {
getName: (getState) => {
const { /** Here, Ts has no smart tips */ } = getState();
}
};
}
需要我添加类型,只需提示即可:
class Model implements IModel<IState> {
effects = {
getName: (getState: () => IState) => { // add type
const { /** Yes, have 'name' and 'age' */ } = getState();
}
};
}
但是,我认为后一种方法有点冗长。