I have Theme.ts file like below
export default {
COLORS: {
DEFAULT: '#172B4D',
PRIMARY: '#5E72E4',
SECONDARY: '#F7FAFC',
}
};
In my button component I import above theme file like this --> import argonTheme from "../constants/Theme";
In my button component I want to get access to that color dynamically like this
const { small, shadowless, children, color, style, fontSize } = props;
const colorStyle = color && argonTheme.COLORS[color.toUpperCase()];
This line gives me typescript error --> const colorStyle = color && argonTheme.COLORS[color.toUpperCase()];
This is the error I'm getting
Element implicitly has an 'any' type because expression of type 'any' can't be used to index type '{ DEFAULT: string; PRIMARY: string; SECONDARY: string ...
How can I write this line in typescript ?
const colorStyle = color && argonTheme.COLORS[color.toUpperCase()];
export const COLORinstead of an unnamed default objectprops. TS is complaining thatcoloris implicitely (not even explicitely) typed asanyas keyof typeoflike so:argonTheme.COLORS[color.toUpperCase() as keyof typeof argonTheme.COLORS]. Not encouraged, but probably good to know.