У меня есть приложение React с рендерингом на стороне сервера через Express. У меня есть простой компонент приложения:Реагировать на стороне сервера с запросами на бэкэнд
import React, { Component } from 'react';
export default class App extends Component {
constructor(props) {
super(props)
this.state = {
data: []
};
fetch('http://backend', {
mode: 'cors',
})
.then(res => res.json())
.then(data => this.state.data);
}
render() {
return (
<ul>
{this.state.data.map(item => (
<li key={item}>{item}</li>
))}
</ul>
);
}
};
Проблема (или более вероятная функция) заключается в том, что fetch работает async. Таким образом, браузер получает страницу с пустыми данными.
Есть ли способ получить от страницы сервера с загруженными данными? Предположим, я хочу получить с серверной страницы загруженные сообщения или что-то еще.
Или что-то не так?
SSR находится за сценой. 'this.setState' также не работает. Я также попытался перенести fetch в метод componentWillMount с настройкой состояния через 'this.setState', но проблема такая же. – user3309314