You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native 0.53.3中fontVariant的预期JSON格式及使用问题咨询

解决React Native 0.53.3中Text组件fontVariant的JSON格式问题

嘿,这个问题我碰到过类似的情况,给你梳理一下解决方案:

首先,你遇到的iOS报错是因为iOS严格遵循React Native官方文档的要求,而Android做了兼容处理,允许字符串类型的值。在0.53.3版本中,fontVariant确实需要传入枚举数组类型,而不是单纯的字符串。

正确的JSON格式写法

如果是在JSON样式配置里,你需要把small-caps放在数组中:

{
  "textStyle": {
    "fontVariant": ["small-caps"]
  }
}

在StyleSheet中的写法(更常用)

如果是在React Native的StyleSheet里定义样式,写法类似:

import { StyleSheet } from 'react-native';

const styles = StyleSheet.create({
  textStyle: {
    fontVariant: ['small-caps']
  }
});

为什么之前的写法在Android可行?

Android端的React Native底层可能做了容错处理,自动将字符串转换为单元素数组,但iOS端没有这个兼容逻辑,所以直接传字符串会抛出JSON value 'small-caps' of type NSString cannot be converted to NSArray的错误。

只要把字符串改成单元素数组,就能同时兼容Android和iOS啦!

内容的提问来源于stack exchange,提问作者Hugo Silva

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:24:38