私は自分の状態に置いたデータを取得し、そのデータの一部をconfig変数に使用して、このデータをhighChartsにレンダリングできるようにしようとしています。しかし、私は "私のjson呼び出しから他のデータの未定義のプロパティ 'SeriesDates'を読み取ることはできません、と言っているが、私は状態をログオンコンソール、データは明らかに状態です。私はconfig変数の中でそれを使うことができないのですか?変数の中の値としてどうやって取得するのですか?私はredux状態のデータを簡単に使うことができます({this.props.stock.Name})。あなたのコードに近い見てみる場合は部品が実装された後、私のJSON呼び出しからの出力。変数内で前記データを使用しようとすると、コンポーネント内のjsonデータを無効にするにはどうすればよいですか?
import React, { Component } from 'react';
import { connect } from 'react-redux';
import ReactHighcharts from 'react-highcharts';
class StockChart extends Component {
constructor(props) {
super(props);
this.state = {chart: []};
}
componentDidMount() {
this.ChartData();
}
ChartData() {
return $.getJSON(`http://dev.markitondemand.com/MODApis/Api/Timeseries/json?symbol=${this.props.stock.Symbol}`)
.then((data) => {
var raw = JSON.stringify(data);
var json = JSON.parse(raw);
this.setState({ chart: json });
console.log(this.state);
});
}
render() {
const config = {
title: {
text: `${this.props.stock.Name}`,
x: -20 //center
},
subtitle: {
text: `${this.props.stock.Symbol}`,
x: -20
},
xAxis: {
categories: `${this.state.chart.Data.SeriesDates}`
},
yAxis: {
title: {
text: 'Price'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
valueSuffix: '$'
},
series: [{
name: 'AAPL',
data: `${this.state.chart.Data.close.values}`
}]
};
if (!this.props.stock) {
return <div></div>
}
return (
<div>
<ReactHighcharts config={config}></ReactHighcharts>
</div>
);
}
}
function mapStateToProps(state) {
return {
stock: state.selectedStock
};
}
既にReduxを使用しているので、チャートデータをグローバルRedux状態に移行するので、データを取得する方法の詳細には関係しません。 –