#Fresh #Preact #Deno [[Preact]]、[[Deno]]をそれぞれ使用していることにより発生するエラーっぽい。 ## 事象 以下のように[[Fragment]]の省略形をrenderするとエラーになる。 ```js return ( <> <div>hoge</div> <div>hoge</div> </> ) ``` エラーメッセージその1。 ``` An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments.deno-ts(17017) ``` エラーメッセージその2。 ``` Cannot find name 'React'. Did you mean 'preact'?deno-ts(2552) ``` ## 原因 1つ目のエラーメッセージは[[@jsxFrag]]の[[プラグマ]]が指定されていないから。[[Deno]]の環境下で[[JSX]]を使う場合に必要そう。 2つ目のエラーメッセージは[[@jsxFrag]]の指定が不十分だから。 ## 解決方法 ファイルの冒頭に以下を追加する。 ```ts /** @jsxFrag Fragment */ import { Fragment } from "preact"; ``` [[Fragment]]のインポートや、[[@jsxFrag]]のあとの`Fragment`が抜けているとエラーになる。 ## 参考 - [Cannot find name 'h' with ts\-loader · Issue \#3180 · preactjs/preact](https://github.com/preactjs/preact/issues/3180)