React Native Text.defaultProps не существует, и его создание также не работает - PullRequest
0 голосов
/ 05 апреля 2019

Я новичок в React Native (0.59.3) и пытаюсь установить шрифт по умолчанию для всех Text компонентов в моем приложении.Я прочитал https://stackoverflow.com/a/47925418/811405 и Как отключить масштабирование шрифтов в приложении React Native для IOS? .

В моем 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, хотя ничего не происходит.

Что я делаю не так?

Ответы [ 2 ]

2 голосов
/ 05 апреля 2019

Добавьте это перед изменением fontFamily стиля

import { Text } from 'react-native';

Text.defaultProps = Text.defaultProps || {};
1 голос
/ 05 апреля 2019

Если вы хотите, чтобы в вашем приложении был свой собственный Text, вы обычно создаете пользовательский Text компонент ... и либо используете его непосредственно на своих экранах ..., либо используете его внутри другого * 1003.* пользовательские компоненты ... таким образом, вы будете иметь единообразный внешний вид во всем приложении

Пример

Вы бы использовали AppTextво всем приложении ... и забудьте о Text

const AppText = ({ text }) => (
  <Text style={{ fontFamily: 'AmericanTypewriter', ...restOfYourStyles }}>
    {text}
  </Text>
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...