我試圖構建一個按鈕組件,它能夠在元素的子元素之前和之後設置圖標。ReactJS - 有條件地渲染空白
因此,道具是這樣的:
export interface IButtonProps {
children?: React.ReactNode;
leftIcon?: FontAwesomeIcon;
rightIcon?: FontAwesomeIcon;
}
而FontAwesomeIcon
是一個枚舉保持可用的圖標。
在按鈕的render
-功能我會檢查是否有圖標集。如果是這樣,則應該有兒童和圖標之間的圖標和空白。
render(): JSX.Element {
let { children, leftIcon, rightIcon } = this.props;
return (
<button>
{leftIcon && <FontAwesome icon={leftIcon} />}
{leftIcon && " "}
{children}
{rightIcon && " "}
{rightIcon && <FontAwesome icon={rightIcon} />}
</button>
);
}
雖然這個解決方案是工作,我不知道是否有比必須爲一個圖標兩次檢查要設置一個簡單的方法。我也希望能夠使用
而不是。 有什麼辦法可以逃避空白,所以我可以寫一些像
{leftIcon && <FontAwesome icon={leftIcon} /> }
?
我試圖{leftIcon && <FontAwesome icon={leftIcon} />{"&nsbp;"}}
或{leftIcon && <FontAwesome icon={leftIcon} />{&nsbp;}}
導致
TS1005: '}' 的預期。
你爲什麼不爲這個添加樣式 –
@JigarShah你會介意在你如何添加一個例子w應該完全使用樣式嗎? – KingKerosin
當然,我會嘗試。您可以創建小吃演示 –