在React Component中设置条件onClick行为

时间:2017-06-19 10:15:02

标签: reactjs react-redux react-jsx

我正在开发一个组件,其中一个按钮(“提交”类型的输入字段)将在点击后提交数据。但是,如果输入字段为空白,我想介绍一个在屏幕上显示警报的安全措施。

认为这将与组件属性的工作方式相同,我尝试了下面的变化而没有太多运气:

onClick={props.inputText === '' 
                ? 
                alert("Text cannot be blank.") 
                : 
                (e => props.onSubmit(props.inputText))}/>

我宁愿不在 onSubmit 函数中运行检查,以便尽可能地隔离对商店的更新(我正在遵循React-Redux结构)。

知道JSX是否以及如何处理这种情况?

2 个答案:

答案 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);
}