項(xiàng)目背景及需求
部署
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 等時(shí),應(yīng)確保對(duì)應(yīng)的 field 已經(jīng)用 getFieldDecorator 注冊(cè)過了( You cannot set a form field before rendering a field associated with the value.)
4.react+springBoot部署方法蓉冈,如何分開部署,如何統(tǒng)一部署
1)部署在springboot
讀靜態(tài)文件
index.html?localhost:3000?
- 前端代碼所在文件夾npm run build
- 將build里面的文件放在后端resource/public下
- 只用后端運(yùn)行java文件即可訪問
2)前后端分離部署
5.前端能否獲取本機(jī)IP實(shí)現(xiàn)fetch方法中url可配置槽华?
頁面開發(fā)
- 與后端接口交互方法:fetch方法
前后端分離開發(fā),由于不在一個(gè)端口所以涉及跨域趟妥,使用fetch方法請(qǐng)求后端接口時(shí)需要設(shè)置跨域的兩個(gè)參數(shù):
mode: “cors”猫态;//這是前端允許跨域的設(shè)置
credentials: ‘include’;//由于需要把瀏覽器的cookie傳入后端披摄,所以需要這個(gè)設(shè)置
后端也需同步設(shè)置
引申:對(duì)比axios方法
引申:如何把session傳給后臺(tái)的亲雪?
fetch方法設(shè)置 credentials: "include"即可
session生命周期:
session對(duì)象保存在服務(wù)器中,以下情況發(fā)生時(shí)session會(huì)被銷毀:
- session過期
- 調(diào)用session的invalidate()方法
- 服務(wù)器關(guān)閉
?? http是無狀態(tài)協(xié)議疚膊,無法判斷瀏覽器什么時(shí)候關(guān)閉义辕,所以無法根據(jù)瀏覽器狀態(tài)做出吸響應(yīng),怎么出現(xiàn)關(guān)閉瀏覽器后session被銷毀的假象呢寓盗?
?? 因?yàn)閟ession是基于cookie實(shí)現(xiàn)的灌砖,創(chuàng)建session后會(huì)生成一個(gè)唯一sessionid返回給瀏覽器并保存在瀏覽器cookie中璧函,再次需要session時(shí)會(huì)從客戶端發(fā)送的cookie中查找name為sessionid的cookie是否存在,存在則通過該cookie值找到用戶之前創(chuàng)建的session基显,若不存在則創(chuàng)建一個(gè)新的蘸吓。然而保存的cookie是會(huì)話級(jí)別的,是保存在瀏覽器中的撩幽,瀏覽器關(guān)閉時(shí)cookie消失库继,因此不存在名為sessionid的cookie,所以服務(wù)器會(huì)創(chuàng)建一個(gè)新的session窜醉,每創(chuàng)建一個(gè)新的Session,服務(wù)器端都會(huì)分配一個(gè)唯一的ID宪萄,并且把這個(gè)ID保存到客戶端的Cookie中但原來的仍存在。
?? 第一次創(chuàng)建session的時(shí)候榨惰,服務(wù)端會(huì)在HTTP協(xié)議中告訴客戶端需要在cookie里記錄一個(gè)sessionID拜英,以后每次把這個(gè)會(huì)話ID發(fā)送到服務(wù)器就能識(shí)別特定客戶。如果瀏覽器禁用cookie會(huì)使用URL重定向技術(shù)跟蹤會(huì)話读串,即每次HTTP交互聊记,URL都會(huì)被附加上諸如sid=xxx的參數(shù),服務(wù)端根據(jù)此來識(shí)別用戶恢暖。
?? cookie和session的區(qū)別:cookie是客戶端保存用戶信息的一種機(jī)制,用來記錄用戶的一些信息狰右,也是實(shí)現(xiàn)session的一種方式杰捂;session是在服務(wù)端保存的一個(gè)數(shù)據(jù)結(jié)構(gòu),跟蹤用戶狀態(tài)棋蚌,該數(shù)據(jù)可以保存在集群嫁佳、數(shù)據(jù)庫、文件中谷暮。
2.select獲取后端傳來的布爾值渲染成選項(xiàng)蒿往,用戶在前端選擇后傳給后端值。
引申:選項(xiàng)如何根據(jù)后端傳來的數(shù)據(jù)動(dòng)態(tài)渲染而非寫死湿弦?
3.對(duì)封面url校驗(yàn)了兩次瓤漏,type和pattern,在修改url時(shí)全選input框中內(nèi)容再粘貼過來會(huì)使頁面卡死颊埃,刪掉一個(gè)校驗(yàn)成功蔬充,再加上一個(gè)校驗(yàn)居然也成功=.=
4.如何設(shè)置輸入url后默認(rèn)顯示頁面
5.如果用戶沒有登錄如何跳轉(zhuǎn)至登錄頁面
6.不同的方法哪些哪些會(huì)觸發(fā)重新渲染,應(yīng)該放在哪些生命周期中
細(xì)節(jié)
1.antd
- form表單getFielddecorator班利、labelCol饥漫、wrapperCol等屬性的用法
- 表單里怎么排版,如何控制一行放幾個(gè)input框罗标?
2.js - string庸队、JSON對(duì)象积蜻、字符串之間的轉(zhuǎn)化
- 由于數(shù)據(jù)項(xiàng)較多,只在formTable中顯示一部分?jǐn)?shù)據(jù)項(xiàng)彻消,點(diǎn)擊修改獲取該行數(shù)據(jù)后獲取這一行數(shù)據(jù)的全部竿拆,在詳情頁里顯示
solution: - 修改數(shù)據(jù)后更新并關(guān)閉modal,由數(shù)據(jù)庫修改數(shù)據(jù)后重新獲取還是在本地修改第一次獲取的數(shù)據(jù)中被改變了的項(xiàng)再渲染证膨? 如何觸發(fā)重新渲染formTable中數(shù)據(jù)如输?
solution: