ice-lab / icestore

🌲 Simple and friendly state for React
MIT License
397 stars 35 forks source link

Bug: 类型推导问题 #71

Closed imsobear closed 4 years ago

imsobear commented 4 years ago

@ice/store version: 1.1.0

Steps To Reproduce

interface IState {
  count: number;
};

const counter = {
  state: {
    count: 20,
  },
  reducers: {
    addCount(prevState: IState, count: number): IState {
      return {
        ...prevState,
        count: prevState.count += count,
      };
    },
  },
  effects: {
    async addCountAsync(prevState: IState, count: number, actions): Promise<void> {
      await new Promise((resolve) => setTimeout(resolve, 0.5 * 1000));
      actions.addCount(count);
    }
  }
}

export default counter;

Link to code example:

https://github.com/imsobear/icejs-store-demo

The current behavior

useModel:

image

useModelActions:

image

useModelEffectsState:

image

The expected behavior

You know.

alvinhui commented 4 years ago

https://github.com/ice-lab/icestore/pull/72