Reactjs 如何更新模型';s";meta";是否使用最新的redux orm版本(0.9.x)进行说明?

Reactjs 如何更新模型';s";meta";是否使用最新的redux orm版本(0.9.x)进行说明?,reactjs,redux,redux-orm,Reactjs,Redux,Redux Orm,我正在尝试实现ReduxORM,但不确定在我的模型上更新元属性的最佳方法。在最新版本中,静态reducer的返回值被忽略,通过API,我看不到任何从静态reducer函数内部的模型修改元属性的方法 例如,对于标准实体状态更新,以下是以下示例: 我发现了几个例子,但这些都是旧版本的。我可以制作一个同级缩减器来处理这个问题,但我更希望一切都在我的实际ORM实体上,并利用提供的元属性 如果有人能举一个用最新版本的redux orm实现meta reducer的简单例子,我们将不胜感激 谢谢 基本上,您

我正在尝试实现ReduxORM,但不确定在我的模型上更新元属性的最佳方法。在最新版本中,静态reducer的返回值被忽略,通过API,我看不到任何从静态reducer函数内部的模型修改元属性的方法

例如,对于标准实体状态更新,以下是以下示例:

我发现了几个例子,但这些都是旧版本的。我可以制作一个同级缩减器来处理这个问题,但我更希望一切都在我的实际ORM实体上,并利用提供的元属性

如果有人能举一个用最新版本的redux orm实现meta reducer的简单例子,我们将不胜感激


谢谢

基本上,您必须确保您的模型包含一个密钥(在下面的示例中,这里是
类型
),该密钥允许您轻松检索每个资源的正确
会话
存储

然后,使用一个元缩减器来处理所有模型,通过redux orm来完成基本的CRUD操作就非常容易了

下面是一个非常简单的示例代码,我在我的应用程序中使用
redux orm@^
0.9.0

export default function resourcesReducer (state, action) {
  const session = orm.session(getDefaultState(state))
  const resource = action.resource

  switch (action.type) {
    case RESOURCE_CREATE: {
      session[resource.type].create(resource)
      break
    }
    case RESOURCE_EDIT: {
      session[resource.type].withId(resource.id).update(resource)
      break
    }
    case RESOURCE_DELETE: {
      session[resource.type].withId(resource.id).delete(resource)
      break
    }
  }

  return session.state
}
export default function resourcesReducer (state, action) {
  const session = orm.session(getDefaultState(state))
  const resource = action.resource

  switch (action.type) {
    case RESOURCE_CREATE: {
      session[resource.type].create(resource)
      break
    }
    case RESOURCE_EDIT: {
      session[resource.type].withId(resource.id).update(resource)
      break
    }
    case RESOURCE_DELETE: {
      session[resource.type].withId(resource.id).delete(resource)
      break
    }
  }

  return session.state
}