Reactjs 我可以使用jsx在同一元素中添加新类吗?

Reactjs 我可以使用jsx在同一元素中添加新类吗?,reactjs,jsx,Reactjs,Jsx,我的意思是,有没有办法写这样的东西 <input className="form-control" onChange={() => { this.classList.add('is-valid'); //where this is input element }} /> { this.classList.add('is-valid');//其中这是输入元素 }} /> 您可

我的意思是,有没有办法写这样的东西

<input
        className="form-control"
        onChange={() => { 
          this.classList.add('is-valid');  //where this is input element
        }}
      />
{
this.classList.add('is-valid');//其中这是输入元素
}}
/>
您可以使用局部状态(和条件表达式),如下所示:

function App() {

  const [isValid, setIsValid] = useState(false);

  return (<input
    className={'form-control' + (isValid ? ' is-valid' : '')}
    onChange={() => {
      setIsValid(true);
    }}
  />)
}
函数应用程序(){
const[isValid,setIsValid]=useState(false);
报税表({
setIsValid(true);
}}
/>)
}
您可以使用局部状态(和条件表达式),如下所示:

function App() {

  const [isValid, setIsValid] = useState(false);

  return (<input
    className={'form-control' + (isValid ? ' is-valid' : '')}
    onChange={() => {
      setIsValid(true);
    }}
  />)
}
函数应用程序(){
const[isValid,setIsValid]=useState(false);
报税表({
setIsValid(true);
}}
/>)
}

更改输入字段时是否要在其上添加类名?使用React时不应手动更改DOM。如果组件重新加载(且添加的类名丢失),该怎么办?您可以使用state来确定哪些类名应该存在,哪些类名不应该存在。您是否尝试了类似
类名={
表单控件之类的操作${new_class}
}
@VilfredDreijer-yes来自tj的答案会起作用。尽管我会用一个状态钩子保存一个值(
const[value,setValue]=useState()
)来更改
const[isValid,setIsValid]=useState(false)
),因为不管怎样,
都可能需要它。然后在
中,您希望添加
onChange={e=>setValue(e.target.value)}
在更改输入字段时是否希望在输入字段上添加类名?在使用React时不应该手动更改DOM。如果组件重新加载会怎么样(并且添加的类名丢失了)?您可以使用state来确定哪些类名应该存在,哪些类名不应该存在。您是否尝试了类似
className={
form control${new_class}
}
@VilfredDreijer-yes这样的方法?Tj的答案会起作用。尽管我会更改
const[isValid,setIsValid]=useState(false)
带有一个状态钩子,其中包含一个值(
const[value,setValue]=useState()
),因为不管怎样,
都可能需要它。然后在
中添加
onChange={e=>setValue(e.target.value)}