我将动态类名设置为input
参数。我无法检查state
参数的长度。以下是我的input
元素
<div className={styles1.col75}>
<input className={this.errorClass(this.state.errors["name"])} type="text" id="name" name="name" onChange={this.updateParam} value={this.state.name} placeholder="Your full name.."/>
<span style={{color: "red"}}>{this.state.errors["name"]}</span>
</div>
以下是errorClass函数的定义
errorClass(error) {
alert(error);
return(error.length === 0 ? '' : 'has-error');
}
但我收到此错误:无法读取未定义的属性length
。
答案 0 :(得分:0)
我猜,可能是组件的负载,你没有任何错误&#39;因此,当调用此errorClass()时,它是未定义的。由于它未定义,您无法访问它的长度。
我建议您检查一下是否有错误&#39;首先,并试图找出长度。您可以更改下面的条件。
return(error && error.length > 0 ? 'has-error' : '');