Цитата:
Метод render должен возвращать сам компонент. |
Таки класс объявлен некорректно. Корректно - в классе должны быть только методы(то, как Вам посоветовал оформить код 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>); } } |
Часовой пояс GMT +3, время: 22:17. |