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

Expo Web中<Svg>组件内React Native <Text>元素为何无法渲染?

解决方案:Expo Web端SVG内文本不显示问题

问题出在你混用了react-native的<Text>组件和react-native-svg的<Svg>组件——react-native的<Text>是原生平台的文本组件,在Web端的SVG上下文里无法被正确解析渲染,必须使用react-native-svg库自身提供的<Text>组件。

解决步骤:

  • 替换Text的导入来源,从react-native改成react-native-svg
  • 给<Svg>设置明确的宽高,同时通过x、y属性定位文本到SVG可视区域内(默认位置可能在视口外导致看不到)

修改后的代码:

import { Svg, Text } from 'react-native-svg';

const App = () => {
  return (
    <Svg width="200" height="50">
        <Text x="10" y="30" fontSize="16" fill="#000">React Native Text</Text>
    </Svg>
  );
}

export default App;

补充说明:

  • react-native-svg的<Text>组件支持SVG标准的文本属性,比如fill(文本颜色)、fontSize、fontFamily等,也可以结合style属性使用部分react-native样式
  • 若不设置<Svg>的宽高,Web端可能无法确定SVG容器尺寸,同样会导致内容不可见

内容的提问来源于stack exchange,提问作者Abhinandan Kushwaha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 08:25:55