Вот как я продлить Immutable.Record
Как установить значение по умолчанию
import Immutable from 'immutable';
const DATA_DEFAULTS = {
id: String,
data: String,
ref_id: String,
};
export default class Data
extends Immutable.Record(DATA_DEFAULTS) {}
Если представление JSON не содержит ref_id
, а затем, когда я пытаюсь напечатать значение поля в консоли Chrome devtool, Я получаю:
> data.ref_id
String() { [native code] }
Я думаю, что это причина, почему я не могу отфильтровать объекты с пустой ref_id
в списке
a = [] // a list of data
b = a.filter(x => x.ref_id != '') // b is the same as a
Я предполагаю, что это может быть исправлено либо:
установить значение по умолчанию для поля в случае
Immutable.Record
, когда поле отсутствует в данных JSonиспользовать другой способ для обнаружения если поле не установлен в экземпляре
для второго подхода, я пытался, например, data.has('ref_id')
и всегда сообщают true
независимо от того, имеет ли поле какое-либо действительное значение.
Мои вопросы:
1) Могу ли я установить значение по умолчанию в Immutable.Record
?
2) Как отфильтровать поля, которые могут или не могут существовать в Immutable.Record
3) Что такое правильный способ проверить наличие допустимого значения в поле в экземпляре Immutable.Record
?