我创建了一个通用组件,用作其他组件用作标签的包装器。这是我的通用组件:
const Label = ({ data, attribute, style, link }) => {
if (link) {
return (
<Link to={link} style={style}>{data ? `${data[attribute]}` : ''}</Link>
);
}
return (
<div style={style}>{data ? `${data[attribute]}` : ''}</div>
);
};
我想用它作为我的通用组件来渲染不同的标签组件,例如:
const CityLabel = ({ data }) => (
<div>{data ? `${data.city}` : ''}</div>
)
和
const UserLabel = ({ user }) => (
<div>{user ? `${user.firstName} ${user.lastName}` : ''}</div>
)
ETC...
我如何使用 HOC 来做到这一点?