Таки класс объявлен некорректно. Корректно - в классе должны быть только методы(то, как Вам посоветовал оформить код Nexus).
Так что показывайте ошибку, а то получается испорченный телефон.
Да, кстати, render не подразумевает то, что Вы вернете результат функции через промис( и уж тем более того, что результата вообще не будет). Результат надо возвращать сразу, причем именно в виде реактовского дерева.
Для реакции на изменившееся окружение нужны другие методы. Нужно работать через state реактовских компонент.Как то так(пишу по памяти):
class App extends Component{
constructor(props) {
//Конструктор класса, выполняется при создании объекта.
super(props);
this.state = {
color: 1,
};
this.authrequest = this.authrequest.bind(this);
}
authrequest () {
//Здесь запрос к серверу с ответом, по которому, будет изменен цвет компонента. Нужно использовать именно setState - иначе реакт не поймет что окружение изменилось
...
ля - ля - ля а затем
this.setState({color: 2,});
}
componentDidMount(){
// Метод жизненного цикла компонента, будет вызван после того, как объект создан и задеплоен в виртуальное дерево. Стоит обратить внимание, что метод render будет вызван до вызова этого метода.
this.authrequest();
}
render(){
// Вызывается каждый раз, когда изменяется внутренне состояние компонента.
const {color} = this.state;
let cmp = null; // тот компонент, который отрисуется в зависимости от переменной color
if (color===1){
cmp = (<div>1<div>);
} else {
cmp = (<div>2<div>);
}
return (<div>
{cmp }
<div>);
}
}