我正在开发一个组件,其中一个按钮(“提交”类型的输入字段)将在点击后提交数据。但是,如果输入字段为空白,我想介绍一个在屏幕上显示警报的安全措施。
认为这将与组件属性的工作方式相同,我尝试了下面的变化而没有太多运气:
onClick={props.inputText === ''
?
alert("Text cannot be blank.")
:
(e => props.onSubmit(props.inputText))}/>
我宁愿不在 onSubmit 函数中运行检查,以便尽可能地隔离对商店的更新(我正在遵循React-Redux结构)。
知道JSX是否以及如何处理这种情况?
答案 0 :(得分:15)
这应该有效:
onClick={() => { props.inputText === '' ?
alert("Text cannot be blank.") :
props.onSubmit(props.inputText) }}
答案 1 :(得分:3)
您要将值分配给onClick event
,但是onclick需要一个函数。为了实现它包装函数体内的所有逻辑。
像这样写:
onClick={ e => {
props.inputText === '' ?
alert("Text cannot be blank.")
:
props.onSubmit(props.inputText)}
}
/>
或者
onClick={this.onClick.bind(this)/>
onClick(e){
if(props.inputText === ''){
alert("Text cannot be blank.");
return;
}
props.onSubmit(props.inputText);
}