【发布时间】:2018-03-15 11:03:14
【问题描述】:
我正在尝试构建一个按钮组件,它能够在元素的子元素之前和之后设置图标。
因此,道具是这样的:
export interface IButtonProps {
children?: React.ReactNode;
leftIcon?: FontAwesomeIcon;
rightIcon?: FontAwesomeIcon;
}
而FontAwesomeIcon 是一个包含可用图标的枚举。
在按钮的render-function 中,我会检查是否有图标集。如果是这样,应该有图标和孩子和图标之间的空白。
render(): JSX.Element {
let { children, leftIcon, rightIcon } = this.props;
return (
<button>
{leftIcon && <FontAwesome icon={leftIcon} />}
{leftIcon && " "}
{children}
{rightIcon && " "}
{rightIcon && <FontAwesome icon={rightIcon} />}
</button>
);
}
虽然这个解决方案有效,但我想知道是否有比检查两次设置图标更简单的方法。我也希望能够使用&nbsp; 而不是。
有什么办法可以逃避空白,这样我就可以写{leftIcon && <FontAwesome icon={leftIcon} />&nbsp;}之类的东西了?
我尝试了{leftIcon && <FontAwesome icon={leftIcon} />{"&nsbp;"}} 或{leftIcon && <FontAwesome icon={leftIcon} />{&nsbp;}} 导致
TS1005:应为“}”。
【问题讨论】:
-
你为什么不为此添加样式
-
@JigarShah 你介意添加一个关于如何准确使用样式的示例吗?
-
当然,我会试试的。你能做点心演示吗
标签: javascript reactjs typescript html-entities