Expo Managed 模式的 React Native 应用是否支持使用 Intl.Collator?
问题解答
Expo Managed 模式的 React Native 应用完全支持访问 Intl.Collator 接口,你提到的排序场景用法可以直接正常运行。
Intl 是 ECMAScript 标准定义的国际化接口集合,Intl.Collator 作为其中的字符串排序能力接口,React Native 依赖的 Hermes 引擎(Expo SDK 47 及以上版本默认启用)和旧版 JavaScriptCore 引擎都默认内置了支持,不需要做额外的原生配置、也不需要安装第三方 polyfill 就能直接调用。
你给出的 fast-sort 结合 Intl.Collator 的示例代码可以直接在 Managed 模式下正常使用,无需修改:
import { createNewSortInstance } from 'fast-sort'; const naturalSort = createNewSortInstance({ comparer: new Intl.Collator(undefined, { numeric: true, sensitivity: 'base' }).compare, });
如果应用需要覆盖非常小众的语言排序场景,遇到排序结果不符合预期的情况,可以检查当前使用的 Expo 版本对应的引擎内置的国际化数据覆盖范围,主流通用语言的排序规则默认都已经覆盖。
内容的提问来源于stack exchange,提问作者GollyJer
相关产品推荐
相关产品推荐

