基于某个属性跳过实体

时间:2017-11-17 16:16:45

标签: normalizr

我试图跳过一个实体。我试图通过从undefined函数返回idAttribute来尝试这样做,但它不会跳过。这可能吗?

var { schema, normalize } = require("normalizr")

// Define your article 
const article = new schema.Entity('articles', undefined, {
  idAttribute: value => value.id
});

const reply = {
  articles: [ { id:1, commenter:'foo' }, { id:2, commenter:'bar' }, { dummy:true } ]
}

const normalizedData = normalize(reply, { articles: [ article ] });

console.log('normalizedData.entities:', JSON.stringify(normalizedData.entities));

这为我们提供了数据normalizedData.entities

articles: {
  1: {commenter: "foo", id: 1}
  2: {commenter: "bar", id: 2}
  undefined: {dummy: true}
}

但是,我想跳过任何没有密钥id的条目。这是我实际情况的一个非常简化的案例。

1 个答案:

答案 0 :(得分:1)

Normalizr不包括特定情况的复杂性。在标准化过程之后,您必须将这些过滤掉作为另一个步骤。