装饰redux

161 阅读1分钟

数据结构定义

@Entity("member")
export class MemberEntity {
  @Column()
  username: string = "username";
}

数据处理

@Reducer({
  entitys: MemberEntity
})
export class MemberReducer {
  @Case()
  updateUsername(state, payload): MemberEntity {
    return { ...state, ...payload };
  }
}

合并数据处理器

@Store({
  reducers: [MemberReducer]
})
export class TestStore {}

控制器

@Controller()
export class TestController {
  @Action()
  updateUsername(username) {
    return { username };
  }
}

使用

export class TestHook {
  @Injector()
  member: TestController;
  constructor() {}
}
const test = injector(TestHook);
test.member.updateUsername("testname");