区分 ImmutableJS 和原生 JS 数据结构?
Distinguishing between ImmutableJS and native JS data structures?
我正在编写一个 React 组件,我打算将其制作成 public,我想让它与 JS arrays/objects 或 immutable.js 等价物( Map/List).
识别 Immutable.js 地图或列表的最佳方法是什么?我不想简单地使用 Array.isArray
,因为我 do 想强制它是数组或列表,例如。
我可以只检查一些 Immutable.js 属性,例如 _origin
或 __ownerID
,但我不想依赖可能会发生变化的内部 API次要版本。
我非常推荐@robg 和@joseph-the-dreamer 给出的建议。但是,为了满足您的确切需求,每个 Immutable.Type 都有一个 Immutable.Type.isType() 静态函数,您可以使用它来确定给定对象是否属于该类型。
例如Map docs -
var im = require("immutable");
if (im.Map.isMap(someObjectWhichMayBeMap)){
...
}
我正在编写一个 React 组件,我打算将其制作成 public,我想让它与 JS arrays/objects 或 immutable.js 等价物( Map/List).
识别 Immutable.js 地图或列表的最佳方法是什么?我不想简单地使用 Array.isArray
,因为我 do 想强制它是数组或列表,例如。
我可以只检查一些 Immutable.js 属性,例如 _origin
或 __ownerID
,但我不想依赖可能会发生变化的内部 API次要版本。
我非常推荐@robg 和@joseph-the-dreamer 给出的建议。但是,为了满足您的确切需求,每个 Immutable.Type 都有一个 Immutable.Type.isType() 静态函数,您可以使用它来确定给定对象是否属于该类型。
例如Map docs -
var im = require("immutable");
if (im.Map.isMap(someObjectWhichMayBeMap)){
...
}