Какие данные следует извлечь из обработчика события onBrushDomain? - PullRequest
0 голосов
/ 25 июня 2019

Что я пытаюсь сделать: когда кисть перемещается по диаграмме области, период времени меняется.Поскольку период времени меняется, я хочу обновить все 4 гистограммы, отражающие этот новый период времени.

Мой вопрос: мне неясно, как использовать значения domain.x (отправленные как реквизиты через событие handleBrush), поскольку они интерпретировались (через шкалу d3 ...?) Из дат в целые числаи мне нужно, чтобы они были переосмыслены обратно к датам, чтобы гистограммы знали, для какого периода времени показывать данные.

Это мой код: https://codesandbox.io/s/my-app-tvlds?from-embed

  • Родительский компонент: readData.jsx
  • Дочерний компонент: vicAreaChart.jsx (имеет элемент кисти)
  • Дочерний компонент: barchart1.jsx (содержит гистограммы, которые я хочу обновить в зависимости от того, что пользователь делает скисть в vicAreaChart.jsx (брат barChart1.jsx))

Я просмотрел все реквизиты, отправленные handleBrush, и только domain.x изменяется при движении кисти по диаграмме площади и имеет одинаковую длинукак кисть, я знаю, что мне нужно как-то использовать эти значения.

Это фрагмент кода, который я пытаюсь исправить:

handleBrush(newDomain, props) {
  console.log(newDomain);
  const { data } = this.state;
  const newData = data.filter(each => each.survey === "2016-07-02");
  // const newData = data.filter(
  //   each => each.survey >= newDomain.x[0] && each.survey < newDomain.x[1]
  // );
  //Eventually, this has to equal domain of brush.
  this.setState({ data: newData, allHHData: this.countAllHHData(data) });

  //What dates do the newDomain.x values correspond to in hhData?
  //////Read up:https://formidable.com/open-source/victory/docs/victory-area#domain
  //////And:https://formidable.com/open-source/victory/docs/victory-area#range
  //Calculate the number of HHs renting, leasing, gment housing, or n/a in between those dates.
  //Change the view of bar chart with new numbers
}

Весь код можно увидеть здесь: https://codesandbox.io/s/my-app-tvlds?from-embed

Ожидается: при движении кистина графике площади период времени меняется.Поскольку период времени меняется, я хочу обновить все 4 гистограммы, отражающие этот новый период времени.

Фактически: гистограмма не обновляется при движении кисти по б / к. Я не знаю, где взятьновые даты в подпорках.(На данный момент вы увидите, что я жестко запрограммировал дату, просто чтобы проверить, что гистограммы вообще меняются при движении кисти, и я знаю, что гистограмма как минимум связана с событием handleBrush).

...