【发布时间】:2017-01-25 08:59:12
【问题描述】:
我得到redux值在Data.js中创建一个新数组,我想用新的数组数据在Chart.js中绘制图表
所以...
如何将 data_pie 传递给Chart.js
我可以在Data.js 中导出data_pie 吗?
有一个react组件来获取数据
//Chart.js
import ChartBar from './ChartBar.js';
import Data from './Data.js';
export default class Chart extends Component{
render(){
return
<div className="chart">
<ChartBar data={Data}/>
</div>
);
} }
并且在 data.js 中从 redux 中获得一些价值
//Data.js
import React,{ Component } from 'react'
import { connect } from 'react-redux';
import raws from './another.json';
function filter_pie(apple,lemon){
//...put raws and redux together to filter some array we need
}
return [newArray,pieName]
}
class Data extends Component {
render () {
const { props: { apple, lemon } } = this
let data_pie = filter_pie( apple, lemon )
return(
<div>
{data_pie} //can I put the data in there ? or I don't need to write any return in this js?
</div>
)
}
}
function mapStateToProps(state) {
return {
apple:state.apple,
lemon:state.lemon,
};
}
export default connect(mapStateToProps)(Data);
我不知道如何将数组 data_pie 传递给 chart.js
【问题讨论】:
-
如果您的
Data.js纯粹用于数据操作。将Chart.js作为子项导入Data.js,并将pie_data作为props发送到图表 -
@JyothiBabuAraja 这个方法我知道,但是我想把函数组件和图表组件切分清楚。你有什么好主意吗?谢谢!
-
其实,没有什么叫
function component。组件适用于DOM元素。这些功能在其他地方实现,例如utils来操作数据。我们在props上使用这些函数,然后传递给components,即reducer级别本身。 -
所以...我的逻辑错了?我无法将数据导出到另一个组件,只能像你说的那样使用
props将数据发送给孩子 -
我认为你不能从组件中导出数据,除非你有一个事件来触发父
function。您的方法可能不适合执行此操作。最好使用props到Chart.js
标签: javascript arrays function reactjs