在 React Native 项目中全局设置默认字体

Set a default font globally in React Native project

我在 /assest/fonts/ 下设置并添加了一组字体,创建了 react-neative.config.js 并相应地链接了它们。

我可以在我的样式中调用自定义字体,但无法为其初始化全局设置。

像这样尝试通过一个组件来做到这一点

import React from 'react';
import { Text } from 'react-native';
export default props => <Text {...props} style={[{ fontFamily: 'Roboto-Regular' }, props.style]}>{props.children}</Text>

然后通过 App.js 或页面组件等通过调用 CustomFont 导入它。 虽然这不会呈现字体(我坚持使用 OS 默认值或已为该特定元素应用的任何样式)。有什么想法吗?

我认为这里的问题是您颠倒了样式对象中的顺序。您应该为样式分配 props.style 的所有属性,然后在它们上应用您的自定义字体

import React from 'react';
import { Text } from 'react-native';
export default props => <Text {...props} style={{...props.style, fontFamily: 'Roboto-Regular'}}>{props.children}</Text>

请将资产更正为资产。

module.exports = {
  assets: ['./assets/fonts']
}