Я хочу сделать динамический компонент. (динамический тег будет стилизованным компонентом -> эмоция)
const Dynamic = ({ tag: Tag, children, ...rest }) =>
<Tag {...rest}>
{ children }
</Tag>
Компонент будет стилизованным компонентом, таким как:
const Column = styled(div)({ color: 'red' })
const Row = styled(span)({ color: 'yellow' })
Это выглядит красиво и работает правильно, BUUUUUT:
Когда я пытаюсь использовать DynamicComponent внутри другого DynamicComponent:
<DynamicComponent tag={Row}>
{
mapOver.map(item=>
<DynamicComponent tag={Column}/>
)
}
</DynamicComponent>
тогда по какой-то причине дети Dynamic будут использовать стиль Dynamic Parent.
Что-то я пропустил?
P.S:.
Если вместо использования динамических стилей я делаю что-то вроде этого:
<Row>
<Column/>
</Row>
тогда стили, classNames, стилизованные теги применяются правильно.
Чтобы было немного яснее:
Как вы можете видеть, DynamicComponent будет использовать родительские стили, classNames, стилизованные теги ... (НЕ ПОВЕДЕНИЕ, КОТОРОЕ Я БУДУ ОЖИДАТЬ)