Получать данные в реальном времени из базы данных, используя CubeJs - PullRequest
0 голосов
/ 25 октября 2019

Я использую cubejs с React. Я хочу отображать данные в реальном времени.

Я пытался использовать методы и состояние жизненного цикла React, где компонент <QueryRender> запускается каждые 2 секунды. Но это не работает.

1 Ответ

0 голосов
/ 27 октября 2019

Вы можете переключить транспорт на веб-сокеты:

import cubejs from '@cubejs-client/core';
import WebSocketTransport from '@cubejs-client/ws-transport';

const cubejsApi = cubejs({
  transport: new WebSocketTransport({ authentication: CUBEJS_TOKEN, apiUrl: 'ws://localhost:4000/' })
});

и использовать подписку реагирующих хуков:

import { useCubeQuery } from '@cubejs-client/react';

const Chart = ({ query }) => {
  const { resultSet, error, isLoading } = useCubeQuery(query, { subscribe: true });

  if (isLoading) {
    return Loading...;
  }

  if (error) {
    return {error.toString()}
;} вернуть;};

Чтобы узнать больше: https://cube.dev/docs/real-time-data-fetch

...