javascript - 当 React 中的 state 不为 null 时更改样式组件
问题描述
当登录不存在时,我尝试为我的输入添加 React 红色边框。我想出了一种在输入中添加类的方法,但我认为这不是一个好习惯。我怎样才能写得更好?
{[
loginError ? (
<Fragment>
<input
className={classNames(
classes.formItem,
classes.formError,
)}
placeholder="write number"
name="login"
type="text"
onChange={this.handleChange}
/>
<div className={classes.textError}>{loginError}</div>
</Fragment>
) : (
<input
className={classes.formItem}
placeholder="write number"
name="login"
type="text"
onChange={this.handleChange}
/>
),
]}
解决方案
您可以在出现错误时使用类名有条件地添加类,并且还会呈现错误消息。此外,您可以从上面的代码中删除冗余,例如
{
<Fragment>
<input
className={classNames(
classes.formItem, {
[classes.formError]: loginError
})}
placeholder="write number"
name="login"
type="text"
onChange={this.handleChange}
/>
{loginError ? <div className={classes.textError}>{loginError}</div>: null}
</Fragment>
}
推荐阅读
- angular - “TableListComponent”类型上不存在属性“exporter”
- java - 尝试打印数据显示 Null
- c++ - 为什么 iostream 在这里不能正常工作?
- sql - 不一致的列和合并操作
- sql-server - Docker compose vs 使用 SQL Server 容器运行
- python - 我没有使用 python BeautifulSoup 得到结果
- python-3.x - 删除 pandas 中的重复列之一
- wpf - 如何为两个具有继承关系的类重用 DataTemplate 定义?
- python - 简单的python问题:两个相等的列表表现不同
- java - 为什么我一直打印每套,我该如何停止