Chore(front): Create a custom eslint rule for Props naming (#1904)

Co-authored-by: v1b3m <vibenjamin6@gmail.com>
Co-authored-by: Matheus <matheus_benini@hotmail.com>
Co-authored-by: bosiraphael <raphael.bosi@gmail.com>
This commit is contained in:
gitstart-twenty
2023-10-09 17:31:13 +03:00
committed by GitHub
parent 84ed9edefe
commit 77a1840611
170 changed files with 700 additions and 342 deletions

View File

@ -206,12 +206,12 @@ EXAMPLE
Assume, we have the `EmailField` component defined below
```tsx
type OwnProps = {
type EmailFieldProps = {
value: string;
disabled?: boolean;
};
const EmailField = ({ value, disabled = false }: OwnProps) => (
const EmailField = ({ value, disabled = false }: EmailFieldProps) => (
<TextInput value={value} disabled={disabled} fullWidth />
);
```

View File

@ -40,7 +40,7 @@ export function MyComponent() {
### Props
Create the type of the props and call it `OwnProps` if there's no need to export it.
Create the type of the props and call it `(ComponentName)Props` if there's no need to export it.
Use props destructuring.
@ -49,11 +49,11 @@ Use props destructuring.
export const MyComponent = (props) => <div>Hello {props.name}</div>;
// ✅ Good, type
type OwnProps = {
type MyComponentProps = {
name: string;
};
export const MyComponent = ({ name }: OwnProps) => <div>Hello {name}</div>;
export const MyComponent = ({ name }: MyComponentProps) => <div>Hello {name}</div>;
```
#### Refrain from using `React.FC` or `React.FunctionComponent` to define prop types.
@ -76,11 +76,11 @@ const EmailField: React.FC<{
* - This method doesn't automatically include the children prop. If
* you want to include it, you have to specify it in OwnProps.
*/
type OwnProps = {
type EmailFieldProps = {
value: string;
};
const EmailField = ({ value }: OwnProps) => (
const EmailField = ({ value }: EmailFieldProps) => (
<TextInput value={value} disabled fullWidth />
);
```
@ -101,7 +101,7 @@ const MyComponent = (props: OwnProps) => {
/* ✅ - Good, Explicitly lists all props
* - Enhances readability and maintainability
*/
const MyComponent = ({ prop1, prop2, prop3 }: OwnProps) => {
const MyComponent = ({ prop1, prop2, prop3 }: MyComponentProps) => {
return <OtherComponent {...{ prop1, prop2, prop3 }} />;
};
```