У меня проблема с компонентом реагирования на кнопки с использованием функции opacify
из Полированная библиотека
Я использую стилевые компоненты для стилизации и тему с использованием ThemeProvider
передать тему для использования. Когда я проверяю код, который возвращает эту ошибку, я использую также сборник рассказов, любая помощь приветствуется:)
export const Button: React.FC<ButtonProps> = styled(ButtonUI)`
&.ui.button{
&.inverted {
background: ${props => opacify(-0.20, props.theme.greySteel)}!important;
}
}
ошибка в моем тесте пряжи:
Passed an incorrect argument to a color function, please pass a string representation of a color.
&.inverted {
> 52 | background: ${props => opacify(-0.20, props.theme.greySteel)}!important;
| ^
Реквизит передается как:
<ThemeProvider theme={dark}>
В раскадровке:
const withGlobalStyles = (storyFn : any) => {
return (
<React.Fragment>
<ThemeProvider theme={dark}>
<GlobalStyle />
{storyFn()}
</ThemeProvider>
</React.Fragment>
);
}
Мой объект темы выглядит следующим образом:
export const dark: Palette = {
greySteel: '#2E313F',
}
Мое приложение. js
<ThemeProvider theme={dark}>
</ThemeProvider>
Мой файл story.tsx
export const storyBuilder = (
scenarios: Scenarios,
storyPath: string,
pageTemplate?: React.FC<any>,
) => {
const Template: React.FC = pageTemplate || noTemplate;
const stories = storiesOf(storyPath, module);
stories.addDecorator(withKnobs as any);
stories.addDecorator(withGlobalStyles as any)
Object.keys(scenarios).forEach(key => {
stories.add(key, () => (
<ThemeProvider theme={dark}>
<Provider store={store}>
<Router>
<Template>
<div>
{scenarios[key](knobs)}
</div>
</Template>
</Router>
</Provider>
</ThemeProvider>
))
})
};
Я нашел ответы по inte rnet, но ни один из них не помог мне, заранее спасибо