我在开始一个项目时会做出反应,以提高自己的技能。 但是在我的项目中,当我尝试在钩子ComponentDidMount()中设置从json文件构建的数组时出现错误,我认为此错误是由于上一个错误说的:
test.dataframe <- data.frame(observation = c(1:10),
VIE.Code = c("BBRG", "BRBR", "PPWG", "RRWW",
"WRWR", "BBBP", "PBPB", "PPGW",
"RWRW", "BGBG"))
我需要一个特定的库来正确解析json文件吗?
发生最后一次错误以下:
cannot read property 0 of undefined
具有该方法的组件在这里:
Can't call setState (or forceUpdate) on an unmounted component.
json文件是从文件夹资产导入的,其格式如下:
class SimpleMap extends Component{
state={
positions:[],
isLoading:true
}
componentDidMount(){
console.log(data.latlngs);
this.switchCoord(data.latlngs);
}
switchCoord(datas){
//console.log( datas);
console.log("-----------------");
//remplacer latlngs par data pour fonctionner avec le fichier json
datas.forEach(data =>{
let newLat;
let newLng;
let tableWithNewCoord =[];
//console.log(data)
data.forEach(d => {
newLat = d[1];
newLng = d[0];
let switchCoordData =[newLat,newLng];
tableWithNewCoord.push(switchCoordData);
})
this.setState({
positions:[...this.state.positions,tableWithNewCoord]
})
})
}
在此先感谢您的帮助。 最好的问候
答案 0 :(得分:1)
我认为问题出在您的switchCoord
函数上。您可以简单地尝试一下您的重构功能:
switchCoord(data) //actually data should be renamed to latlngs for readability
{
let tableWithNewCoord = [];
data.forEach( (coord) => {
tableWithNewCoord.push([coord[1], coord[0]])
});
this.setState({positions: tableWithNewCoord});
}