У меня есть компонент, который может иметь различные значения margin-right
и margin-left
в зависимости от реквизита.Тестирование с помощью моментальных снимков шуток - это нормально, но не идеально, поскольку при изменении самого кода он показывает только разные хэши классов.* jest-styled-components ?
Вот соответствующий код:
export interface CustomSwitchProps {
align?: 'left' | 'right';
}
const useStyles = makeStyles((theme: Theme) => createStyles({
root: {
marginLeft: (({ align }: CustomSwitchProps) => align === 'left' ? -theme.spacing(3/2) : 0) as unknown as number,
marginRight: (({ align }: CustomSwitchProps) => align === 'right' ? -theme.spacing(3/2) : 0) as unknown as number
}
}));
export default function AccentedSwitch({ align = 'left', ...props }: SwitchProps & CustomSwitchProps) {
const classes = useStyles({ align });
return <Switch {...props} classes={classes}/>;
};