行动声明无法正常运作

时间:2016-11-02 11:21:56

标签: redux flowtype

我使用redux在项目中激活了流程,但Action声明并没有像我预期的那样工作。 声明是:

type PostRequest = {
  type: string;
};

type PostPayload = {
  posts: Object;
  offset: number;
  hasMore: boolean;
};

type PostSuccess = {
  type: string;
  payload: PostPayload;
};

type PostError = {
  type: string;
};

type PostSelected = {
  type: string;
  postId: string;
};

export type Action = PostSuccess | PostError | PostSelected | PostRequest;

在actionCreat中我没有看到任何错误,而reducer我在使用属性" payload":property 'payload' (Property not found in object type)时遇到了这个错误。 这是我的减速机:

import type { Action } from "../types";
// other import...

export default function(state: State = initialState, action: Action):
State {
  switch (action.type) {
    // ...
    case POST_SUCCESS: {
      const { posts, offset, hasMore } = action.payload;
      return {
        ...state,
        isFetching: false,
        posts: _.merge(state.posts, posts),
        offset: state.offset + offset,
        hasMore,
      };
    }
    // ...

申报行动的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

您可以定义Disjoint Unions

permitAll
相关问题