bug收集

如果项目出现以下报错,别多想,重新新建一个项目,重新装依赖啥的,比你解决这个error要来的快,搞了2个钟都没搞出来的我,心疼自己。。。

Image text

React

Objects are not valid as a React child (found: object with keys {counter, auth}). If you meant to render a collection of children, use an array instead.

将reducer合并的时候,要注意将之前在装饰器里面写的state要变成取单个属性,不然会报错
Image text
Image text

复杂数据结构的深拷贝和浅拷贝

简单的数组进行深拷贝,可以使用slice和connact,但是遇到复杂的数据结构进行深拷贝的时候,比如说数组里面嵌套了数组,这时候只是一层外面数组的slice深拷贝,并不能解决内部数组还是引用的同个内存地址,导致对复制出来的数据进行修改的时候,会影响到原来的数据,这个时候,就可以通过下面方法

1
2
$ /*深拷贝*/
$ this.menu_routes = JSON.parse(JSON.stringify(this.routes))

在项目中,会遇到对路由文件的操作,但是页面不刷新的时候,会发现路由文件被进行多次操作,导致路由文件的数据发生了变化,这是不对的,我们希望每次登陆都会获取一份新的路由数据,而不是上次操作后的路由数据。

koa随堂笔记

 随笔

装NVM的时候装出问题的时候,重新卸载,node无法使用的问题

装NVM的时候装出问题的时候,重新卸载,node无法使用的时候
先安装node,再使用node

1
2
$ nvm install stable /*安装最新版的node*/
$ nvm use 10.15.0 /*版本号*/

今年想了解的技能

从一开始接触微信小程序到后面的taro框架,从一开始接触node到后面的koa框架,GraphQL
2018年年底买了一套《你不知道的js》,今年年初也打算看完,并且重复阅读,前端之路走的好漫长。

项目遇到问题,用history打包出现问题:hash路由的话,我们只请求了头部#前面的url路径,其余的#后面的,只是我们的前端路由,用来加载不同的组件,我们并不是通过url来请求后台数据的,
我们是通过组件的生命周期调用接口,请求后台数据,用history就会产生将整个url都用做http请求,然后向后台请求数据,当页面刷新的时候,用history就会出现404页面查找不到,
这个时候就需要后台配置,将所有的情况,都重定向到index.html

1、不能使用push(非常的不方便)

1
2
3
4
5
6
7
8
9
10
11
12
13
$ /*替换方法*/
$ let length=this.state.posts.length
let posts=this.state.posts
posts[length]={
id:1,
title:'次子大婚'+length,
date:'2017-12-12 12:30',
count:'3655',
dateCN:'农历大年初一'
}
this.setState({
posts
})

2、引用本地静态资源,用import进去

1
2
$ import searchPng from '../../images/right.png'
$ <Image src={searchPng} className='right'></Image>

3、新增page的时候,需要主动在app.tsx里面添加page页面

其实不叫做父子组件,是page和component之间的通讯,但是想了想,组件也是可以嵌套使用,还是用父子组件来的好

父组件向子组件传递参数

主要是通过props来传递属性,暂不细说