setState vs refs in react.js

Ich habe Registerkarten in Reaktion erstellt und jetzt muss ich die Klasse der Registerkarten ändern. Die Registerkartenklassen können wie folgt lauten:

1: active
2: previousActive
3: alreadySelected

Ein Klick auf eine Tab-Klasse wird zuactive und überprüfe, ob es vor @ ausgewählt wurde oder nicalreadySelected Klasse undactive class von der zuletzt aktiven Registerkarte wird entfernt, andernfalls wirdalreadySelected dann füge hinzualreadySelected.

Code einer Registerkarte in reagieren:

var TabBody = React.createClass({
    getInitialState: function() {
        return {
            class: 'tabBody tab activeTab'
        }
    },
    render: function() {
        a.tabBody = this;
        return (React.createElement('div', {
            className: this.state.class,
            ref: 'body',
            onClick: handleTabClick
        },
        React.createElement('span', {}, "Body"))
        );
      }
});

Um die Klasse der Registerkarten zu ändern, habe ich zwei Möglichkeiten und möchte wissen, welche wirksam ist. Code-Stil eins:

 var bodyClass = (a.tabBody.state.class).split(' ');
 var sleeveClass = (a.tabSleeve.state.class).split(' ');
 var neckClass = (a.tabNeck.state.class).split(' ');
 if (data === 'tabBody') {
     bodyClass.push('activeTab');
     var str1 = program.arrayToString(bodyClass);
     Interfaces.tabBody.setState({
         class: str1
     });
 }

Code Style 2

a.tabBody.refs.body.classList.remove('activeTab');
a.tabBody.refs.body.classList.add('tabPreviewComplete');
a.tabSleeve.refs.body.classList.add('activeTab');

Welcher Stil ist dafür gut und warum?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage