在我的 React/Typescript 组件中,每当CMS 添加<Link />
值 (data.link?.text
和) 时,我都会渲染一个组件。data?.link?.url
{data.link?.text && data?.link?.url && (
<Link to={data?.link?.url}>
)}
我使用 Typescript Optional Chaining有条件地渲染Link
或不渲染。因此,如果链接字段的text
andurl
被填充,它会呈现<Link />
组件。
链接类型:
export type Link = {
link: {
url: string;
text: string;
};
}
如果Link
页面上不存在组件/未呈现组件,我想为组件添加一些样式 ( margin-bottom
) List
。
组件的结构如下所示:
<List>
<div css={styles.list}>
// Mapped list items here
</div>
</List>
{data.link?.text && data?.link?.url && (
<Link css={styles.link} to={data?.link?.url}>
{data.link.text}
</Link>
)}
因此,我必须以某种方式创建一个布尔值并基于该布尔值,在我的中MyComponent.styles.ts
我可以执行以下操作:
margin-bottom: ${haslink ? `0` : `35px`};