Cześć, mam pytanie, być może trywialne - jak zapisać w komponencie funkcyjnym przypisanym do zmiennej (stałej dokładnie) przekazany parametr <T>?
Już tłumaczę przykładami. Wiem, że jest możliwe coś takiego i to działa, ale jednak chciałbym się trzymać przyjętego standardu w aplikacji i stosować zapis z przypisaniem funkcji do `const`.
export interface ITestComponentProps<T> {
dataRow: T[]
}
Więc zamiast tego:
import _ from 'lodash'
import { ITestComponentProps } from './TestComponent.interface'
function TestComponent<T>(props: ITestComponentProps<T>): JSX.Element {
return <>{_.map(props.dataRow)}</>
}
export default TestComponent
Chciałbym coś takiego osiągnąć:
import _ from 'lodash'
import { ITestComponentProps } from './TestComponent.interface'
const TestComponent = <T> (props: ITestComponentProps<T>): JSX.Element => {
return <>{_.map(props.dataRow)}</>
}
export default TestComponent
Jest to w ogóle możliwe, a jak tak, to w jaki sposób musiałbym zapisać typ do funkcji?
Odpowiadając na mój zamysł, to tworzę uniwersalny komponent - wrapper. Przykładowo uniwersalną tabelę, która przyjmuje różnego typu dane do wierszy. A `<T>` jest mi niezbędny, żeby potem nie wpisywać `<any>` typów przy innych typach i interfejsach.
Przy okazji, polecacie stosować nazewnictwo T, jakby zgodnie z typescriptem, czy lepiej użyć jakiejś konkretnej nazwy mówiącej, czym właściwie ten typ jest, np. `<IRowData>`?