Заменить класс на javascript не работает в reactjs - PullRequest
0 голосов
/ 08 января 2020

Я хочу изменить класс элемента Dynami c для функции щелчка, для этого я попробовал следующие решения, но ни одно из этих работающих

  handleClick=(event,headerText)=>{
     document.getElementsByClassName('sk-reset-filters')[0].className = 'jjjj';
  }


 handleClick=(event,headerText)=>{
   var reset = document.querySelectorAll('.sk-reset-filters.is-disabled')[0];
   console.log(reset)
   if(reset){
     reset.className = 'sk-reset-filters';   
     console.log(reset)   
  }

Я просто хочу удалить is-disabled при нажатии. Я также пытался использовать функцию setTimout, но не работает. Что-то не так?

Когда я console.log(reset), я становлюсь ниже html.

<div class="sk-reset-filters is-disabled">
    <div class="sk-reset-filters__reset">Clear all</div>
</div>

1 Ответ

0 голосов
/ 08 января 2020

Вы можете обрабатывать отключение или показ элементов dom с состоянием реакции следующим образом:

state={isDisabled:true}  // set a state property

handleClick=(e)=>{
e.preventDefault
this.setState({isDisabled:false}) //change !isDisabled to false when clicked
}

render() {
  {isDisabled} = this.state
  let disabledMarkup = isDisabled ? <div>something</div> : null}
  return (<React.Fragment>{disabledMarkup}
  <button onClick={this.handleClick}></button>
  </React.Fragment>)}
...