只能在Android的对象上调用Get Object.freeze

J.D*_*Doe 6 javascript css android reactjs react-native

我得到Object.freeze只能在对象调用(仅在Android上)。

经过深入研究,我发现这是因为我在不同的文件夹中引用了所有样式,而Android对此并不满意。

Github问题

图片

我的文件夹结构

  • src

    • 行动
    • 货柜
      • Home.js(具有样式)
    • 组件
    • 样式
      • calculateSize.js
      • index.js
  • App.js

  • Router.js(具有样式)

如您所见,模拟器开始抱怨

Router.js: 9
Run Code Online (Sandbox Code Playgroud)

对应于

import styles from './styles'; // Line 9 in Router.js
Run Code Online (Sandbox Code Playgroud)

长话短说,只有当我在要进行样式设置的文件中创建本地StyleSheet变量时,问题才会消失,这很烦人。

有人遇到过吗?我找不到解决方案:(

这是我的样式索引,也许某些方法未定义并且我不知道

计算尺寸

index.js

import styles from './styles'; // Line 9 in Router.js
Run Code Online (Sandbox Code Playgroud)

sat*_*164 5

该错误是由于StyleSheet.create调用中具有非对象属性引起的,即-

//
// STATICS
//
DEVICE_WIDTH: deviceWidth,
DEVICE_HEIGHT: deviceHeight,
RATIO_X: em.ratioX,
RATIO_Y: em.ratioY,
UNIT: em(1),
PADDING: em(1.25),

FONT_SIZE: em(1),
FONT_SIZE_SMALLER: em(0.75),
FONT_SIZE_SMALL: em(0.875),
FONT_SIZE_TITLE: em(1.25),
Run Code Online (Sandbox Code Playgroud)

StyleSheet.create 仅支持样式对象,不支持任何随机属性。

仅在Android中会出现错误,可能是由于不同版本的JSC之间在实现上的差异。