javascript - 区分 ImmutableJS 和原生 JS 数据结构?

标签 javascript immutable.js

我正在编写一个我打算公开的 React 组件,我想让它与 JS 数组/对象或 immutable.js 等价物(Map/List)一起玩得很好。

识别 Immutable.js Map 或 List 的最佳方法是什么?我不想简单地使用 Array.isArray,因为我确实想强制它是数组或列表,例如。

我可以只检查一些 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)){
    ...
}

关于javascript - 区分 ImmutableJS 和原生 JS 数据结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36927829/

相关文章:

javascript - ImmutableJS Map() 和 fromJS() 有什么区别?

javascript - 字符串到 Ivalue 的转换

javascript - asp.net 上的慢速 C# websockets

javascript - 年份转换功能

javascript - 为什么 JavaScript 中的不变性如此重要(或需要)?

javascript - 以累加器作为最终参数的无点归约函数 - 函数式编程 - Javascript - Immutable.js

mocha.js - 即使我使用 babel-register,也无法使用 mocha 从源文件夹导入代码

javascript - 如何将自定义 map 标记与 Google map 自动完成搜索框结合起来?

javascript - Amazon AWS SDK MediaConvert 不是构造函数

reactjs - 如何在immutablejs中迭代Map