Доступ к собственному элементу таблицы стилей реакции через строку ключа Dynami c в машинописном тексте - PullRequest
0 голосов
/ 28 мая 2020

У меня есть эта таблица стилей:

const styles = StyleSheet.create({
  primary: {},
  secondary: {},
})

И я хотел бы получить доступ к ключам с динамически составленными строками.

<View style={styles[props.type]}/>

Это когда TS жалуется (но код запускается просто отлично, как и следовало ожидать):

Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{ primary: { }; secondary: { }'.
  No index signature with a parameter of type 'string' was found on type '...'.ts(7053)

Как я могу подтолкнуть TS в правильном направлении и сделать его счастливым?

1 Ответ

0 голосов
/ 28 мая 2020

Это минимальный урезанный рабочий пример:

import { StyleSheet } from "react-native";

type Props = {
    type: 'primary' | 'secondary'
}

const styles = StyleSheet.create({
    primary: {},
    secondary: {}
});

const Component: React.FC<Props> = ({ type }) => {
  const style = styles[props.type];

  // ...
}
...