Ну собственно говоря вы делаете все нормально, вот убогий рабочий пример:
HTML:
<div class="container">
</div>
JS:
var Test = React.createClass({
getInitialState: function() {
return {disabled: true};
},
clickHandlers: function() {
this.setState({disabled: false});
},
render: function() {
return (
<div>
<button disabled={this.state.disabled}>Тест</button>
<button onClick={this.clickHandlers}>Сменить</button>
</div>
);
}
});
React.renderComponent(Test({}), document.querySelector(".container"));
А у вас у меня вызывают сомнения во эти строки:
beforeSend: function() {
this.setState({
disabled: "disabled"
});
},
....
complete: function (){
this.setState({
disabled: "enable"
});
}
Сдается мне что this то у вас там представляет собой объект запроса и не имеет не чего общего с вашим контекстом исполнения. Надо как-то так:
submitLogin: function() {
var that = this;
....
$.ajax({
....
beforeSend: function() {
that.setState({
disabled: "disabled"
});
},
....
complete: function (){
that.setState({
disabled: "enable"
});
},
....
})
....
}