最近打算將老項目組件重新升級,在vue官網跟着步驟將vue-cli搭建完畢,接下來進入測試階段。
坑1:在*.vue文件中使用render函數渲染結構,無法識別JSX語法問題
這個問題坑了我小半天,一開始想的是各種配置沒有配置好,或者當前的腳手架對TSX的支持並不好,差點放棄,偶然看到在*.vue文件中 script標簽標識lang的時候, 用的是官方默認生成的leng="ts",想了下,就改成了lang="tsx",然后報錯就消掉了
坑2:在*.vue文件中使用render函數渲染結構,使用vue-class-component插件時遇到tslint提示【Type 'XXX' is not assignable to type 'ComponentOptions<Vue, DefaultData<Vue>, DefaultMethods<Vue>, DefaultComputed, PropsDefinition<Record<string, any>>, 】
這個問題出現后不知道是我姿勢不對還是真的沒有文檔說明,父組件結合tsx的時候傳值直接以"<component msg="aaa"/>”的方式來傳,在運行上是沒有問題的,但是在tslint檢查的時候會提示上述報錯,后來我查到報錯的ComponentOptions的類型聲明,發現其中可以直接以props對象的方式傳參,后來將父組件調用改為了 "<component props={{msg:'aaa'}}/>"就沒有報錯了,這只是臨時解決方案,應該還有更好的解決方案