【发布时间】:2018-04-26 02:50:07
【问题描述】:
我是 reactjs 的新手。我在显示结果时遇到问题。这是我的代码:
constructor (props) {
super(props);
this.state = {
selectValue: '',
yearsValue:'',
months:''
}
this.setDataGroup = this.setDataGroup.bind(this);
}
setDataGroup(e){
var selectedType = e.target.value;
if(selectedType == "quertly"){
var quertlyData = [{
data:"Jan-March",
value:"1"
},
{
data:"Apr-Jun",
value:"2"
},
{
data:"Jul-Sept",
value:"3"
},
{
data:"Oct-Dec",
value:"4"
}];
this.setState({yearsValue:quertlyData});
我正在显示如下数据:
render() {
const data = JSON.stringify(this.state.yearsValue) || []
<div>
{data.map((data, index) => {data})}
</div>
}
我的 json 看起来像:
[{"data":"Jan-March","value":"1"},{"data":"Apr-Jun","value":"2"},{"data":"七月-九月","值":"3"},{"数据":"十月-十二月","值":"4"}]
得到错误 .map is not function
【问题讨论】:
-
为什么要字符串化?数据已经是一个数组,我假设您不想将其作为字符串获取。你的渲染方法也是静音的,你对映射函数有什么期望,因为箭头函数将为所有元素返回未定义
-
yearsValue是string。JSON.stringify不会把它变成一个数组。
标签: reactjs