Как изменить базу шрифтов на реквизитах и установить значение по умолчанию, если реквизита нет

#javascript #typescript #react-native

Вопрос:

Вопрос довольно прост, у меня есть текст, в котором есть реквизит fontSize по умолчанию, проблема в том , что я хочу иметь реквизит для изменения этого размера, когда это необходимо, поэтому я установил шрифт по умолчанию и реквизит для изменения шрифта, но я действительно не знаю, как это правильно сделать.

Вот мое неработающее решение:

Вызываемые реквизиты textStyle я определяю с помощью интерфейса typescript textStyle: TextStyle

Я пытался создать условия, style подобные

 style={textListStyle?.fontSize ?? 15}   <== not work
 

Податель жалобы

 No overload matches this call.
  Overload 1 of 2, '(props: TextProps | Readonly<TextProps>): Text', gave the following error.
    Type 'number' is not assignable to type 'StyleProp<TextStyle>'.
  Overload 2 of 2, '(props: TextProps, context: any): Text', gave the following
 

ошибка.

И я попытался

 style={!textListStyle?.fontSize ? 15 : textListStyle?.fontSize}
 

Та же проблема, так какое же лучшее решение?
Огромное спасибо

Ответ №1:

Не уверен, что действительно понимаю, что вы пытаетесь сделать. Насколько я понял, у вас есть опора, и вы пытаетесь определить определенный размер шрифта, когда опора верна, и другой, когда это не так.

Я бы сделал :

 style={{fontSize: textListStyle.fontSize ? 15 : 20 }}
 

Или если ваш «текстовый стиль»?.Размер шрифта» — это целое число:

 style={{fontSize: textListStyle?.fontSize ?? 15}}