setState vs refs en react.js
Creé pestañas en reaccionar y ahora, al hacer clic, tengo que cambiar la clase de las pestañas, las clases de pestañas pueden ser las siguientes:
1: activo
2: anterior Activo
3: ya seleccionado
Al hacer clic en una pestaña, la clase se convierteactive
y verifique si está seleccionado antes o noalreadySelected
clase yactive
la clase de la última pestaña activa es eliminar y si no lo esalreadySelected
Luego añadealreadySelected
.
Código de una pestaña en reaccionar:
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 cambiar la clase de las pestañas, lo estoy haciendo de dos maneras y quiero saber cuál es la efectiva. Código de estilo uno:
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
});
}
Código Estilo 2
a.tabBody.refs.body.classList.remove('activeTab');
a.tabBody.refs.body.classList.add('tabPreviewComplete');
a.tabSleeve.refs.body.classList.add('activeTab');
¿Qué estilo es bueno para hacer esto y por qué?