-
-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2022-04-05のJS: React 18、Vite 2.9.0、Firefoxの新しいパフォーマンスツール #974
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…-06-react-18-vite-2.9.0-firefox.md
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
React 18が正式リリースされました。
Internet Explorerのサポートが終了されています。
主な変更としてConcurrent Renderingに対応するための変更と新しいAPIが追加されています。
setStateの呼び出しを自動的にバッチ化とopt-outするための
flushSync
を追加、緊急と緊急ではない状態の更新を扱うTransition APIがされています。クライアントの
ReactDOM.render
とPReactDOM.hydrateとサーバの
renderToStringはそれぞれ非推奨となっています。 これに対応する新しいAPIとして、クライアントに
createRoot/
hydrateRoot、サーバに
renderToPipeableStream/
renderToReadableStream`が追加されています。また、
<StrictMode>
が開発時は再マウントをテストする挙動に変更、useId
/useSyncExternalStore
/useInsertionEffect
のHooksの追加なども行われています。詳しいマイグレーション方法については次のドキュメントが公開されています。
TypeScriptの型定義はまだReact 18の対応版が公開されていませんが、次のIssueとPRで対応されています。
React周辺のツールやライブラリのReact 18対応については、次の記事でまとめられています。
Vite 2.9.0がリリースされました。
依存関係のscanとpre-bundleの処理を改善、実験的にCSSのSource Mapのサポート、Web WorkerのSource Mapサポートの改善が含まれています。
Glob Importsに
{ as: 'raw' }
を追加し、{ assert: { type: 'raw' }}
は非推奨化されています。{ assert: { type: 'raw' }}
はVite 2.8で、Import Assertionsを意識して導入された構文ですが、Import Assertionsは読み込むモジュールのtype
を検証(assert)する目的のProposalです。そのため読み込むモジュールの評価方法を変更する構文ではありません。一方で、読み込むモジュールの評価方法を指定するProposalとしてImport Reflectionがあります。Vite 2.9では、こちらのImport Reflectionを意識した構文に変更されました。
Firefoxのパフォーマンスツールが新しくなっています。
UIも大きく変わり、取得できるデータもWebサイトや動画などの特性に合わせたプリセットが用意されていて、それぞれに合わせたプロファイルが取れるようになっています。
また、取得したパフォーマンスデータは https://profiler.firefox.com/ で表示と共有ができるようになっています。