标题很容易理解,但请考虑以下示例代码:
import * as React from 'react';
import { Text, View, StyleSheet } from 'react-native';
import { Constants } from 'expo';
export default class App extends React.Component {
render() {
return (
<Text>
{Object.fromEntries("test")}
</Text>
);
}
}
通过在 Android 设备上打开它,我得到了 fromEntries
函数在 Object
上不存在的错误:
但在 iOS 上,它确实存在:
(提供给它的参数错误,但它仍然存在)
那么这里发生了什么?两个平台之间的 JS 引擎不应该相同吗?还存在哪些其他已知差异?
最佳答案
很可能你有一个旧的或不完全支持的引擎(检查 docs )。你可以像这样制作一个 ES6 polyfill:
Object.fromEntries = Object.fromEntries || arr => arr.reduce((acc, [k, v]) => (acc[k] = v, acc), {});
或者像这样的 ES5 polyfill:
Object.fromEntries = Object.fromEntries || function(arr) {
return arr.reduce(function(acc, curr) {
acc[curr[0]] = curr[1];
return acc;
}, {});
};
关于javascript - Object.fromEntries 仅在 iOS 上可用? ( react native - 不是网络),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56379641/