首次使用React开发遇到的一些问题总结
问题汇总
初次使用React开发会遇到很多的坑,这里,我会把在开发过程中遇到的一些问题进行一下记录。
1.首先,在使用React开发的时候,肯定会对state里面的变量进行一个赋值,比如 state:{ query:{ arr:[] } },赋值的时候 如果是这样赋值的 const { query } = this.state;
query.arr = [123];
this.setState({ query });有时候没有效果,这时候就需要解构赋值了; this.setState({ query:[…query] }); 这也算是开发过程中不太注意的一个小细节问题。
2.经常会遇到下载的问题,总结起来就是两个,一个是根据url下载
const link = document.createElement(‘a’);
link.style.display = ‘none’;
link.href = data //data是传递过来的URL地址
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
还有一种是通过字符串数据下载
let str = JSON.stringify(data);//data如果本身就是字符串,则 str = data data就是需要下载的字符串数据;
const link = document.createElement(‘a’);
let blob = new Blob([str]);
link.style.display = ‘none’;
link.href = URL.createObjectURL(blob);
link.download = 名称加格式;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
3.项目当中经常会遇到数组对象去重的问题
repeatData(data,params) { //data是数据,params根据什么来去重
const obj = {};
return data.reduce((item,next) => {
obj[next[params]] ? ‘’ : obj[next[params]] = true && item.push(next);
return item;
},[])
};