首页 > 解决方案 > React Native Text.defaultProps 不存在并且创建它也不起作用

问题描述

我是 React Native (0.59.3) 的新手,我正在尝试为Text我的应用程序中的所有组件设置默认字体。我已阅读https://stackoverflow.com/a/47925418/811405How to disable font scaling in React Native for IOS app? .

在我的App.js我放:

import { Text } from 'react-native';

Text.defaultProps.style = { 
  fontFamily: 'AmericanTypewriter' //just for testing
}

但我明白了Cannot set property 'style' of undefined

当我在此Text.defaultProps = Text.defaultProps || {};之前添加该行时,我没有收到错误,但没有任何反应(所有Text组件仍使用默认字体)。我尝试使用不同的字体(内置 iOS 字体和我已链接和验证的自定义字体),使用它们的 PostScript 名称,但没有任何反应。

我究竟做错了什么?

标签: react-nativereact-native-iosreact-native-text

解决方案


如果您想在您的应用程序中拥有自己的自定义Text,您通常会创建一个自定义Text组件......然后直接在屏幕中使用它......或者在您的其他自定义组件内部使用它......这样你就可以了在整个应用程序中保持一致的外观和感觉

例子

你会AppText在你的整个应用程序中使用......然后忘记Text

const AppText = ({ text }) => (
  <Text style={{ fontFamily: 'AmericanTypewriter', ...restOfYourStyles }}>
    {text}
  </Text>
);

推荐阅读