Реагировать на собственные TextProperties не распознает свойства стиля - PullRequest
0 голосов
/ 06 апреля 2020

Чтобы следовать другому ответу об управлении fontWeight с пользовательским шрифтом, я получаю следующий пользовательский Text компонент:

import React from "react";
import { Text as BaseText, StyleSheet, TextProperties } from "react-native";
import Colors from "../constants/Colors";

interface Props extends TextProperties {
  children: any
}

const styles = StyleSheet.create({
  color: {
    color: Colors.secondary,
  },
  normal: {
    fontFamily: 'Lato-Regular',
  },
  bold: {
    fontFamily: 'Lato-Bold',
  },
});

const Text = ({ children, style, ...rest }: Props) => {
  let baseFontStyle = styles.normal;

  if (style) {
    baseFontStyle = style.fontWeight === 'bold' ? styles.bold : styles.normal;
    delete style.fontWeight;
  }

  return (
    <BaseText
      style={[baseFontStyle, styles.color, style]}
      {...rest}
    >
      {children}
    </BaseText>
  );
};

export default Text;

Этот код работает, но Свойство style.fontWeight не распознается интерпретатором машинописного текста, встроенным в vs-код:

Property 'fontWeight' does not exist on type 'TextStyle | RegisteredStyle<TextStyle> | RecursiveArray<false | TextStyle | RegisteredStyle<TextStyle>>'.
Property 'fontWeight' does not exist on type 'RegisteredStyle<TextStyle>'.ts(2339)

Но мой интерфейс Props расширяется TextProperties.

Как с этим бороться?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...