开发中遇到的问题
2019-04-27 本文已影响0人
Chasingcar_501
项目背景及需求
部署
1.warning:Each child in a list should have a unique "key" prop.
2.Failed prop type: Invalid prop value
supplied to Option
.
3.使用 getFieldsValue getFieldValue setFieldsValue 等时,应确保对应的 field 已经用 getFieldDecorator 注册过了( You cannot set a form field before rendering a field associated with the value.)
4.react+springBoot部署方法,如何分开部署,如何统一部署
1)部署在springboot
读静态文件
index.html?localhost:3000?
- 前端代码所在文件夹npm run build
- 将build里面的文件放在后端resource/public下
- 只用后端运行java文件即可访问
2)前后端分离部署
5.前端能否获取本机IP实现fetch方法中url可配置?
页面开发
- 与后端接口交互方法:fetch方法
前后端分离开发,由于不在一个端口所以涉及跨域,使用fetch方法请求后端接口时需要设置跨域的两个参数:
mode: “cors”;//这是前端允许跨域的设置
credentials: ‘include’;//由于需要把浏览器的cookie传入后端,所以需要这个设置
后端也需同步设置
引申:对比axios方法
引申:如何把session传给后台的?
fetch方法设置 credentials: "include"即可
session生命周期:
session对象保存在服务器中,以下情况发生时session会被销毁:
- session过期
- 调用session的invalidate()方法
- 服务器关闭
http是无状态协议,无法判断浏览器什么时候关闭,所以无法根据浏览器状态做出吸响应,怎么出现关闭浏览器后session被销毁的假象呢?
因为session是基于cookie实现的,创建session后会生成一个唯一sessionid返回给浏览器并保存在浏览器cookie中,再次需要session时会从客户端发送的cookie中查找name为sessionid的cookie是否存在,存在则通过该cookie值找到用户之前创建的session,若不存在则创建一个新的。然而保存的cookie是会话级别的,是保存在浏览器中的,浏览器关闭时cookie消失,因此不存在名为sessionid的cookie,所以服务器会创建一个新的session,每创建一个新的Session,服务器端都会分配一个唯一的ID,并且把这个ID保存到客户端的Cookie中但原来的仍存在。
第一次创建session的时候,服务端会在HTTP协议中告诉客户端需要在cookie里记录一个sessionID,以后每次把这个会话ID发送到服务器就能识别特定客户。如果浏览器禁用cookie会使用URL重定向技术跟踪会话,即每次HTTP交互,URL都会被附加上诸如sid=xxx的参数,服务端根据此来识别用户。
cookie和session的区别:cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现session的一种方式;session是在服务端保存的一个数据结构,跟踪用户状态,该数据可以保存在集群、数据库、文件中。
2.select获取后端传来的布尔值渲染成选项,用户在前端选择后传给后端值。
引申:选项如何根据后端传来的数据动态渲染而非写死?
3.对封面url校验了两次,type和pattern,在修改url时全选input框中内容再粘贴过来会使页面卡死,删掉一个校验成功,再加上一个校验居然也成功=.=
4.如何设置输入url后默认显示页面
5.如果用户没有登录如何跳转至登录页面
6.不同的方法哪些哪些会触发重新渲染,应该放在哪些生命周期中
细节
1.antd
- form表单getFielddecorator、labelCol、wrapperCol等属性的用法
- 表单里怎么排版,如何控制一行放几个input框?
2.js - string、JSON对象、字符串之间的转化
- 由于数据项较多,只在formTable中显示一部分数据项,点击修改获取该行数据后获取这一行数据的全部,在详情页里显示
solution: - 修改数据后更新并关闭modal,由数据库修改数据后重新获取还是在本地修改第一次获取的数据中被改变了的项再渲染? 如何触发重新渲染formTable中数据?
solution: