Получите доступ к мнению Веги с помощью Reaction-Vega и React - PullRequest
0 голосов
/ 18 января 2020

Я использую реаги-вега для отображения диаграммы Вега . Я хотел бы получить доступ к представлению Vega, но не знаю, как использовать обратный вызов onNewView, который предоставляет представление, с React.

Вот как я думал, что мой компонент должен выглядеть. К сожалению, он никогда не рендерится.

export default function Chart(props) {
  const [data, setData] = useState({table: []}); // Populated elsewhere
  const [spec, setSpec] = useState({}); // Populated elsewhere
  const [view, setView] = useState(null);

  return <Vega data={data} spec={spec} onNewView={newView => setView(newView)} />
}

Я предполагаю, что я не должен использовать setView при рендеринге. Однако, как еще я могу получить доступ к мнению Веги?

1 Ответ

0 голосов
/ 18 января 2020

Как это часто бывает, задание вопроса подсказывает ответ. Я понял, что Реакт не должен быть вовлечен.

export default function Chart(props) {
  const [data, setData] = useState({table: []}); // Populated elsewhere
  const [spec, setSpec] = useState({}); // Populated elsewhere

  const handleNewView = view => {
    // Do something with the view, such as updating the value of a signal.
    view.signal('xDomain', [props.xMin, props.xMax]).run();
  };

  return <Vega data={data} spec={spec} onNewView={handleNewView} />
}
...