setState vs refs em react.js
Criei abas em React e agora clique em Tenho que alterar a classe das abas, as classes de abas podem ser as seguintes:
1: ativo
2: previousActive
3: jáSelecionado
Ao clicar em uma classe de guia, torne-seactive
e verifique se está selecionado antes ou nãoalreadySelected
classe eactive
classe da última guia ativa é removida e, se não foralreadySelected
então adicionealreadySelected
.
Código de uma guia em react:
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"))
);
}
});
Para alterar a classe das guias, estou fazendo de duas maneiras e quero saber qual é eficaz. Código estilo um:
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
});
}
Estilo do código 2
a.tabBody.refs.body.classList.remove('activeTab');
a.tabBody.refs.body.classList.add('tabPreviewComplete');
a.tabSleeve.refs.body.classList.add('activeTab');
Que estilo é bom para fazer isso e por quê?