530 文字
3 分

Frontend Weekly 2024-02-16

React Compiler#

2024 年 2 月 15 日の React の記事にて、React Forget として知られていた React Compiler について触れられていました。React Compiler は既に Instagram の本番環境で動作しているそうです。

https://react.dev/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024

React Compiler によって、今まで useMemo や useCallback、memo などを利用して手動で行われていたメモ化が自動で最適化されるようになります。また React コアチームのメンバーは、この記事を紐付けて useMemo、useCallback、memo、forwardRef、React.lazy、useContext、throw promise、Context.Provider は 2024 年末までに不要になると語っています。

typescript-eslint v7#

2024 年 2 月 12 日に typescript-eslint v7 がリリースされました。

Flat config が正式にサポートされています。

https://typescript-eslint.io/blog/announcing-typescript-eslint-v7/

Flat config 用に typescript-eslint というパッケージがリリースされました。

Terminal window
pnpm remove @typescript-eslint/parser @typescript-eslint/eslint-plugin
pnpm add typescript-eslint

なお、次のように利用例で tseslint.config という関数が使われていますが、これは別に typescript-eslint 用の設定をしてくれるようなものではないため、実際は利用しなくても大丈夫です。

Terminal window
import eslint from '@eslint/js';
import tseslint from 'typescript-eslint';
export default tseslint.config({
eslint.configs.recommended,
...tseslint.configs.recommended,
})

Hono v4#

2024 年 2 月 9 日に Hono v4 がリリースされました。

https://github.com/honojs/hono/releases/tag/v4.0.0

Static Site Generation#

静的ページを書き出してサイトを作る機能がリリースされました。Vite の SSG ビルドをするためのプラグイン@hono/vite-ssg も公開されました。

import fs from "node:fs/promises";
import { toSSG } from "hono/ssg";
import app from "./src/index";
toSSG(app, fs);

Client Components#

テンプレートエンジンの代替としてサーバー側で実行するように設計されていた hono/jsx が、クライアントでも実行できるようになりました。

React と同じコードが Hono で実行できます。

import { useState } from "hono/jsx";
import { render } from "hono/jsx/dom";
function Counter() {
const [count, setCount] = useState(0);
return (
<div>
<p>Count: {count}</p>
<button onClick={() => setCount(count + 1)}>Increment</button>
</div>
);
}
// ...
const root = document.getElementById("root");
render(<App />, root);

React の API である useEffect や startTransition、useContext、use なども利用できます。

File-based Routing - HonoX#

Vite と Hono をベースとしたフルスタック Web フレームワーク HonoX がリリースされました。Hono の機能に加えて、Next.js のような File-base Routing や Islands Architecture などの機能を利用することが出来ます。

Frontend Weekly 2024-02-16
https://blog.ohirunewani.com/series/frontend-weekly/2024-02-16/
作者
hrdtbs
公開日
2024-02-16
ライセンス
CC BY-NC-SA 4.0