Использование функций в React Native StyleSheet с Typescript - PullRequest
0 голосов
/ 24 сентября 2019

Часто я хочу сделать что-то вроде

const styles = StyleSheet.create({
  square: (size: number) => ({
    width: size,
    height: size,
  }),
})

Теперь это не работает, потому что я получаю Type '(size: number) => { width: number; height: number; }' is not assignable to type 'ViewStyle | TextStyle | ImageStyle'.Я пытался делать такие вещи, как

interface Style {
  square: (width: number) => ViewStyle
}

const styles = StyleSheet.create<Style>({
  square: (size: number) => ({
    width: size,
    height: size,
  }),
})

Но тогда я получаю Type 'Style' does not satisfy the constraint 'NamedStyles<any> | NamedStyles<Style>'.

Есть идеи, как с этим справиться?

1 Ответ

0 голосов
/ 24 сентября 2019

Я не думаю, что StyleSheet поддерживает наличие функций в своих клавишах.Он предназначен для того, чтобы действовать как таблицы стилей из Интернета.Я подозреваю, что то, что вы делали раньше, не было поддержано, но теперь, когда вы используете TypeScript, это усиливает это.

https://facebook.github.io/react-native/docs/stylesheet.html

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