Rumah  >  Soal Jawab  >  teks badan

javascript - Bagaimana untuk mengubah suai nama kelas dalam bertindak balas tanpa menggunakan keadaan?

Seperti soalan itu, bagaimana saya boleh menukar kelas secara terus menggunakan js asli dan bukannya menggunakan kaedah berikut sebagai tindak balas?

<p className={ this.state.*** ? class1 : class2 }></p>
滿天的星座滿天的星座2663 hari yang lalu1020

membalas semua(3)saya akan balas

  • 滿天的星座

    滿天的星座2017-07-05 11:08:31

    <p ref={(p)=>{this.getDom = p}}></p>
    ...
    // 可以在一个事件中通过this.getDom获取当前元素,再通过className设置
    this.getDom.className = class1

    balas
    0
  • 三叔

    三叔2017-07-05 11:08:31

    Memanipulasi DOM dengan JS asli tidak disyorkan Jika anda benar-benar memerlukan keupayaan ini, anda boleh mendapatkan rujukan kepada nod DOM melalui kaedah findDOMNode ReactDOM. Contohnya di sini:
    https://facebook.github.io/re...

    Tetapi ini sememangnya tingkah laku yang berpotensi berisiko [membuka pintu selamat]. Operasi mengubah suai DOM secara langsung melalui JS asli adalah berlebihan, tidak selamat dan tidak konsisten dengan idea React. Adalah disyorkan untuk mempertimbangkan masalah untuk diselesaikan dalam bentuk JSX.

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-07-05 11:08:31

    Mesti ada cara lain untuk melakukannya Anda boleh pertimbangkan pakej nama kelas yang digunakan di tingkat atas juga merupakan kaedah biasa

    balas
    0
  • Batalbalas