Skip to content
This repository has been archived by the owner on Sep 26, 2024. It is now read-only.

feat(ui,Typography): Исправлена ошибка с передачей prop component #202

Merged
merged 2 commits into from
Apr 25, 2022

Conversation

Nikita-Smirnov
Copy link
Contributor

No description provided.

import { TypographyProps as MuiTypographyProps } from '@mui/material/Typography';
import { Variant } from '@mui/material/styles/createTypography';

export type OverrideComponentProps<P, C extends React.ElementType> = P &
Copy link
Contributor

@perevezencev perevezencev Apr 21, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Объясни пжлст что это и зачем?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Насколько я понимаю это способ добавить какой-то кастомный variant?! Если так, то разрабы материала предусмотрели такую ситуацию и позволяют делать это намного проще через TypographyPropsVariantOverrides

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

тут очень сложно будет текстом расписать, но смысл какой, есть вот такое issue mui/material-ui#13921, когда мы в Typography добавляем prop component, TS не видит его, хотя он есть и я решил, что для решения текущей проблемы необходимо сделать OverrideComponent и этой конструкцией я переопределяю все пропсы.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

И это сделано было для того, что бы была возможность добавлять дополнительные пропсы и TS не ругался бы. К примеру мы в Typography положили img, () и ему нужен alt без текущих манипуляций TS ругался бы

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Это не для variant, а для component было сделано

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Окей, но тогда не понятно почему сюда
Снимок экрана 2022-04-21 в 18 03 20

передается span

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Он же может быть и не span?!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

span это дефолтный компонент передается, так в material ui реализовано

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Снимок экрана 2022-04-21 в 18 39 13

вот тут в Generic (D) его необходимо передать

@AndTem AndTem requested a review from perevezencev April 21, 2022 14:37
variant,
children,
...props
}: TypographyProps) => {
}) => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Не хватает forwardRef

@AndTem AndTem merged commit e9822dc into main Apr 25, 2022
@perevezencev perevezencev deleted the UIKIT-166 branch April 25, 2022 14:32
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants