«вероятно, проще» - использовать интегрированное решение (apollo), чем минимальную библиотеку низкого уровня.В большинстве случаев (по мере роста проекта) большее количество компонентов, извлекающих данные, управляющих отдельными GraphQLClient
для всех из них, не будет оптимальным решением.Apollo предоставляет вам централизованную «точку выборки», кеш и многое другое.
Синтаксическая ошибка исходит от function
- в class
достаточно написать async main()
https://codesandbox.io/s/l25r2kol7q
Вероятно, было бы лучше сохранить все данные в состоянии и извлечь необходимые части позже (на render
) и использовать этот объект как «флаг готовности данных» (как я сделал для place - 'stoppestedet')- изначально undefined
(в конструкторе) для начального рендеринга (условный рендеринг, некоторый <Loading />
компонент):
render() {
if (!this.state.stoppestedet) return "rutetider lastes ned";
return (
<div>
rutetider
<div className="grid-container2">
<div>Mot byen</div>
<div>fra byen</div>
<div>{this.renderFetchedDataTable()}</div>
</div>