This is how i give data to the GenericComponent:
const tabData = [
{
value: 'workExperience',
label: 'Työ',
Component: (props) => (
<GenericComponent
data={props.resume.workexperiences}
renderItem={renderWorkExperienceItem}
ExperienceForm={WorkExperienceForm} // Pass the form for work experiences
createExperience={createWorkExperience}
updateSortOrder={updateWorkExperienceSortOrder}
title="Work Experience"
description="Manage your professional experiences."
/>
),
},
...
]
return (
...
tabData.map...
<Component resume={resume} />
)
My renderWorkExperienceItem.tsx:
'use client';
export const renderWorkExperienceItem = (
workExperience,
provided: DraggableProvided,
setSelectedItem,
) => {
return (
<div ref={provided.innerRef} {...provided.draggableProps}>
<Group
{...provided.dragHandleProps}
py={'md '}
onClick={() => setSelectedItem(workExperience)}
>
<IconGripVertical size="1.2rem" />
<Group>
<div style={{ cursor: 'pointer' }}>
<Text fw={500}>{workExperience.company</Text>
</div>
</Group>
</Group>
</div>
);
};