У меня есть следующий компонент:
import React, { ReactElement } from 'react'
interface Props {
icon: JSX.Element; // should accept only svg
fill?: string;
stroke?: string;
}
export default function AppIcon(props: Props): ReactElement {
// TODO:
// Replace: svg *[fill] = props.fill
// Replace: svg *[stroke] = props.stroke
}
Как видите, компонент принимает значок JSX.Element (не уверен, как я могу ограничить его только SVG).
После этого он должен искать в дереве icon
детей, имеющих атрибуты fill
и stroke
, и заменять их соответственно. Это означает, что если есть путь с fill
, он заменит его на данную заливку. Если путь не имеет fill
, он не будет добавлен.
Как мне добиться такого поведения?