【发布时间】:2021-03-18 08:08:03
【问题描述】:
如果参数 isEnabled === false,我想禁用“onPress”,
像这样工作:
const RightTitle = ({children, onPress, isEnabled}) => (
<Right
onPress={isEnabled === true ? onPress : console.log("chuchas")}
isEnabled={isEnabled}>
<CTALight>{children}</CTALight>
</Right>
)
但是如果我做一个“短路”来避免三元我得到一个错误
onPress 不是函数
const RightTitle = ({children, onPress, isEnabled}) => (
<Right
onPress={isEnabled && {onPress} }
isEnabled={isEnabled}>
<CTALight>{children}</CTALight>
</Right>
)
编辑:如果“onPress”没有括号,同样的问题
onPress={isEnabled && onPress }
如何评估我的“isEnabled”以允许按钮 onPress?
提前致谢。
【问题讨论】:
-
只需省略
{ }周围的onPress:onPress={isEnabled && onPress} -
感谢@Samathingamajig 没有括号的同样问题
-
onPress={isEnabled ? onPress : undefined} -
如果它在那之后给你问题,问题在于你的组件
Right在 onPress 未定义时实际上没有处理逻辑。
标签: javascript reactjs conditional-operator