中共关系项目总结

236 阅读4分钟

一.个人心得(非技术层面)

    此次项目,(今年大二)是我大学生涯以来第一次实战项目。
    1.理论层面的基础知识都学过一遍,没运用到实战上,心里忐忑,一个词,很虚。
    2.万事开头难,这句话不错,记得第一天进入项目的时候,一个静态页写下来都感觉费劲,因为
    理论永远只是理论,读万卷书还得行万里路
    学和没学不是一个概念,写和学了不是一个概念
    3.第一次团队合作,第一次当项目队长,通过项目,学会了如何分工合作,如何给队员分工,如何不让工作重复,如何和后端同学沟通接口问题,如何处理代码冲突(git),这对我来说无一不是宝贵的经验。
    4.自信心得到了提升,通过此次项目,有了一定的经验知识沉淀,更愿意和敢去接更多的项目,得到更多的锻炼。
    5.感谢方脑西的耐心指导!教会我很多东西...也像学长说的自家兄弟,不必多言

二.技术上的收获(react为框架)

1.先来个自我批评。history的知识忘记了,需要好好复习这块

2.弹出框带蒙层,点击蒙层弹出框消失的应用。具体看代码如下

3. antd组件

4.react新知识

fromData www.jianshu.com/p/e984c3619…

Http Header里的Content-Type www.cnblogs.com/52fhy/p/543…

Http Header里的Content-Type一般有这三种:
application/x-www-form-urlencoded:数据被编码为名称/值对。这是标准的编码格式。
multipart/form-data: 数据被编码为一条消息,页上的每个控件对应消息中的一个部分。
text/plain: 数据以纯文本形式(text/json/xml/html)进行编码,其中不含任何控件或格式字符。postman软件里标的是RAW。

form的enctype属性为编码方式,常用有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application/x-www-form-urlencoded。

当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2...),然后把这个字串追加到url后面,用?分割,加载这个新的url。

当action为post时候,浏览器把form数据封装到http body中,然后发送到server。 如果没有type=file的控件,用默认的application/x-www-form-urlencoded就可以了。 但是如果有type=file的话,就要用到multipart/form-data了。

当action为post且Content-Type类型是multipart/form-data,浏览器会把整个表单以控件为单位分割,并为每个部分加上Content-Disposition(form-data或者file),Content-Type(默认为text/plain),name(控件name)等信息,并加上分割符(boundary)。

关于React.createRef()

在React 16.3版本后,使用此方法来创建ref。将其赋值给一个变量,通过ref挂载在dom节点或组件上,该ref的current属性将能拿到dom节点或组件的实例 我觉得最常用的是在form表单中

         通过current下的resetFields重置表单中每一项的数据

        如果只想重置某一项则传入一个数组即可,如下只重置loginname,和loginpass项的数
        this.addformRef.current.resetFields(['loginname','loginpass']);

若想设置某几项的值或就该某几项的值,setFieldsValue

通过getFieldsValue拿到表单中每一项的value值

validateField方法对部分表单字段进行校验,成功的话会返回value值,可通过try,catch的方法捕获异常
5.经验上的增长

 涉及到列表页的地方,如果在第二页点击查看了详情,那么详情页返回到列表
 页时,应该还是第二页,而不是第一页
 此次项目共用到了两种方法
 1.前台页面的时候可以常用,在列表页的时候,把当前页面的page存在url上

 2.通过本地存储,暂存列表页的page,前后端均可用     

  但是这样虽然简单,但是涉及到跳转到非列表页非详情页的时候跳转回来存储的page还在,这样是不对的
  因此要在header等公共组件跳转到 上述页面时清除本地存储的page
  下面是 拿到 当前页面路径的两种方法
  1:
  给公共组件传参,拿到url(没查阅资料的傻行为)

   2.

6.关于git

 1.如何切换分支
  git branch查看分支
  git checkout xxx语句切换分支,切换后代码已成为新分支代码
  git pull 更新一下来自新分支的代码
2.  
   git pull冲突想保留更改的代码
    $ git stash     //暂存当前正在进行的工作。
    $ git pull   origin master //拉取服务器的代码
    $ git stash pop //解封并合并暂存的代码

7.React中定时器的使用及清除

   参考https://blog.csdn.net/zangdaiyang1991/article/details/86751282
   注意点
        1、定时器中this一般指向为window对象
        2、react箭头函数中定时器中也可以使用this,为当前class对象
   1.定时器赋值给全局变量,异步动作后清除

  2.定时器设为局部变量