【发布时间】:2024-01-29 21:55:02
【问题描述】:
这应该是一个非常简单的问题。我有以下代码块:
return (
<StyledActiveOptions
className={classNames("lookup-active-options form-control", className)}
role="button"
tabIndex="0"
aria-haspopup="true"
aria-label={ariaActiveLabel}
isEnabled={!isDisabled && !isReadOnly}
onClick={onOpen}
onFocus={onFocus}
onKeyDown={onKeyDown}
>
{activeOptions.map((option) => (
<ChoiceOption
key={option.code}
option={option}
optionContentConfiguration={optionContentConfiguration}
isMultiple={isMultiple}
isRemovable={!isReadOnly && !isDisabled}
onRemove={onRemove}
renderIcon={renderIcon}
/>
))}
</StyledActiveOptions>
);
};
基本上,我想重新考虑这一点,以便如果 renderIcon 为真 - 我们返回 <ChoiceOptionIcon /> 组件而不仅仅是 ChoiceOption /> ,反之亦然。我不完全确定限制重复代码但确保两个组件都获得所有道具的最有效方法。谁能给点建议?
【问题讨论】:
-
option => { const Comp = renderIcon ? ChoiceOptionIcon : ChoiceOption; return <Comp ... />; }
标签: javascript reactjs conditional-operator