感謝回應! 一開始選用 zod 來管理型別,是因為源頭從 API 取得 20 個 key 左右的資料,在有些元件只須使用一小部份,還有變換成 optional、改 key 名稱的需求,剛好這些在 zod 都有方便的語法達成,就開始用了,確實沒考慮到 DOM 本身的屬性
感謝回答!這個方法確實可以通過。 繼續 Google 下去是發現 TypeScript 設定了 ``` { "compilerOptions": { "strictNullChecks": true } } ``` 就不能用 ``` type Props { description?: string; } ``` 的方法 我自己的解決方法是使用元件時,用不到的 props,得明確指出是 `undefined`: ``` <Component title="標題字串" description={undefined} /> ```
大家好, 我是 UI 設計師轉網頁前端工程師 ym,工作上使用 React,目前算接近中階 而自己做的小工具或部落格喜歡用非主流的東西,例如:Solid.js、Astro,最近在試玩 Qwik 想要尋找討論程式的地方。 相關專案、部落格請看:https://read.cv/ymcheung
大家好, 請問使用 `zod` 來定義元件 props 的型別,要怎麼樣達到這樣的形式呢? ``` type Props { title: string; description?: string; } ``` 我想要做的是:description 不一定要傳入元件 用 zod 的 `.optional()` 來定義: ``` const postProps = z.object({ title: z.string(), description: z.string().optional() }); type Props = z.infer<typeof postProps>; ``` 這樣產生的型別是: ``` type Props { title: string; description: string | undefined; } ``` 要使用這個元件的時候,如果只傳入 `title`, ``` <Component title="標題字串" /> ``` 就出現錯誤: ``` Property 'description' is missing in type '{ title: string; }' but required in type '{ title: string; description: string | undefined; }' ``` Google 一陣後,有人用 `.partial({ description: true })`,但是改寫後也還是得到 `string | undefined` 想知道應該如何設定型別?謝謝!
大家好,最近以工作上不太有機會用到的技術來練習專案: https://goods.carrier.express 使用 Astro + Solid.js,搭配 Sanity.io 當作內容管理 除了想要獲得操作的流暢度回饋以外, 還想要知道「**夠不夠安全**」? 其實也只是 secret key 放在 environment variable。 之前曾經以相同的方法取用 secret,在面試時,對方一下子就從瀏覽器挖出使用的 secret, 感覺很像當場被扣到 0 分, 事後在社群問怎麼解決,得到回饋大多是「前端沒有秘密」。 想知道怎麼做,才可以在安全問題達到基本要求呢?謝謝!
你的轉職路上,還缺少一份自學作業包!寫完這幾包,直接拿作品去面試上班!
本論壇另有附設一個 LINE 新手發問&交流群組!歡迎加入討論!