Je rencontre un problème lorsque j'essaie de permettre que seuls des enfants spécifiques soient transmis à un composant.
Voici mes composants, HeaderLink
import { SFC, ReactElement } from "react";
import "./Header.scss";
export interface IHeaderLinkProps {
url: string;
label: string;
}
const HeaderLink: SFC<IHeaderLinkProps> = ({ url, label }): ReactElement => (
<li className="nav-item">
<a href={url}>{label}</a>
</li>
);
export default HeaderLink;
et En-tête
import { SFC, ReactElement } from "react";
import { IHeaderLinkProps } from "./HeaderLink";
import "./Header.scss";
interface IHeaderProps {
children: ReactElement<IHeaderLinkProps> | ReactElement<IHeaderLinkProps>[];
}
const Header: SFC<IHeaderProps> = ({ children }): ReactElement => {
return (
<header className="header">
<div className="container">
<div className="row">
<div className="col">
<img
className="header__logo"
src={"/logo.png"}
alt="monqrime-logo"
/>
<ul className="header__nav">{children}</ul>
</div>
</div>
</div>
</header>
);
};
Le problème est donc que je veux permettre que seuls les composants HeaderLink soient transmis comme enfants à l'en-tête, mais ma solution actuelle me permet toujours de mettre tout comme enfants.