React問題三則
前言
這兩天在用 Blueprint+React+ServiceFramework+SQL/">MySQL 為主要元件開發一個小玩具,由衷的喜歡React了。為啥呢?非常後端,其實就是大量編寫javascript class,而JSX非常類似Scala裡的XML,將HTML變成JS語法的部分,render則更像GUI程式設計裡的東東,元件庫也非常多(當然,以為好友推薦我選擇了Blueprint)。
WebStorm Debug問題
最早用的是vscode,後面改用WebStorm了,WebStorm的程式碼提示很厲害,比如import css也能把裡面的類給提示出來,這個vscode似乎就做不到。不過debug遇到點小麻煩,似乎不生效,主要是因為這個配置誤導我了:

image.png
死活埠連不上。最簡單的辦法是點選任何一個檔案,然後執行debug,會自動生成一個configuration,然後把裡面的地址改下即可:

image.png
跨域問題
React 開發時需要訪問後端,通常在本地React和API的埠會不一樣,存在跨域問題,之前用Vue時,只要Server 返回頭設定一個引數就行:
restResponse.httpServletResponse().setHeader("Access-Control-Allow-Origin", "*")
但是在使用React死活不行,嘗試了Fetch 以及一些其他庫。Fetch有個mode設定為no-crof, 結果還有個opac模式,返回值很詭異,搞的我吐血。後面發現只需要在package.json裡做一行配置即可:

image.png
Bind問題

image.png
事件處理我喜歡用類的方法,不過JavaScript的this比較神奇,context會變化,需要做bind,比如

image.png