根据此stack overflow解决方案,可以通过在每个Text
组件中调用自定义字体来使用自定义字体。但是,当我们的应用程序中有数千个Text
组件时,我们可能会错过相同的字体系列。然后,在字体系列的情况下,我们会失去一致性。
因此,有没有办法通过不调用每个Text
组件来使用自定义字体系列?
答案 0 :(得分:0)
您可以通过在任何使用 Text 的组件中添加此内容来覆盖 Text 行为:
编辑:将此代码添加到您的 App.js 或主文件中
let oldRender = Text.render;
Text.render = function (...args) {
let origin = oldRender.call(this, ...args);
return React.cloneElement(origin, {
style: [{color: 'red', fontFamily: 'Arial'}, origin.props.style]
});
}
对于 React Native 0.56 或以下版本,将此代码添加到您的 App.js 或主文件中
let oldRender = Text.prototype.render;
Text.prototype.render = function (...args) {
let origin = oldRender.call(this, ...args);
return React.cloneElement(origin, {
style: [{color: 'red', fontFamily: 'Arial'}, origin.props.style]
});
};
Reference 或create your own component, such as MyAppText. MyAppText 将是一个简单的组件,它使用您的通用样式呈现一个 Text 组件,并且可以通过其他道具等。