setState против ссылок в Reaction.js
Я создал вкладки в реакции, и теперь при нажатии я должен изменить класс вкладок, классы вкладок могут быть следующими:
1: активные
2: previousActive
3: alreadySelected
По нажатию вкладки класс становитсяactive
и проверьте, выбран ли он до или нетalreadySelected
класс иactive
класс из последней активной вкладки удаляется, а если нетalreadySelected
затем добавьтеalreadySelected
.
Код одной вкладки в реакции:
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"))
);
}
});
Чтобы изменить класс вкладок, я делаю двумя способами и хочу знать, какие из них эффективны. Стиль кода один:
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
});
}
Код Стиль 2
a.tabBody.refs.body.classList.remove('activeTab');
a.tabBody.refs.body.classList.add('tabPreviewComplete');
a.tabSleeve.refs.body.classList.add('activeTab');
Какой стиль подходит для этого и почему?