*1. 画面に表示されるがコンソールにエラーが出る。 Warning: Received NaN for the `children` attribute. If this is expected, cast the value to a string. *2. 画面には表示されずコンソールにワーニングが出る。 [Vue warn]: Invalid VNode type: undefined (undefined) *3. Chrome だと以下の形式(実行環境によって異なる可能性あり)。 Mon Jan 01 2024 00:00:00 GMT+0900 (GMT+09:00) *4. ランタイムエラー。 Uncaught Error: Objects are not valid as a React child (found: object with keys {}). If you
Next.js の App Router が安定版となり、React Server Components (以下 RSC) を実際に試す環境が整ってきた。 実際、今年はやれどこそこのプロダクトが Next.js を採用しただのやっぱり捨てだのといった話題が尽きなかったように思う。 かくいう自分自身も、今年は App Router の案件に取り組んで RSC と格闘する日々を送っていた。 その過程で、こんなようなことを考えるようになったので、今回はこの辺りの話を書き残しておこうと思う(何回か X に同じ旨の POST は上げていたけど、一回もちゃんとまとめてなかったので)。 RSC がない頃の、別の言い方をすると getServerSideProps を使っていた頃の、Next.js におけるアプリケーションの設計は、トラディショナルな MVC にかなり近しい。 ここでいう MVC は、Sp
何周も遅れてしまっているのですが、フロントエンド周りの勉強に取り組んでいます。色々と遠回りをしつつ、Next.jsに流れ着きました。SSRとかSSGとか分かりにくい言葉が多くて難しそうに感じたので、自分なりの理解を図にしてみました。 Server Side Application サーバーはリクエストを受けると動的にHTML文書を生成して返却する。 1993年にCGIが登場した時から基本的に同じ仕組みであり、今でも主要なアーキテクチャです。 Ajax クライアント(ブラウザ)側のJavaScriptでサーバーから追加データを取得し、DOM操作でページの内容を書き換える。 ページ遷移することなくコンテンツを書き換えることができる手法です。このアーキテクチャが登場してから、Webアプリケーションで実現できるUIや表現の幅が飛躍的に広がりました。 CSR (Client Side Renderi
HTML First is a set of principles that aims to make building web software easier, faster, more inclusive, and more maintainable by... Leveraging the default capabilities of modern web browsers. Leveraging the extreme simplicity of HTML's attribute syntax. Leveraging the web's ViewSource affordance. Goals The main goal of HTML First is to substantially widen the pool of people who can work on web s
この記事では、DOMの測定結果に基づいて要素を変更する方法、useEffectの問題点とuseLayoutEffectによる解決法、ブラウザペインティングとは何か、SSRの役割について説明します。 この記事と同じ内容を扱ったYouTube動画も公開していますので、活字媒体よりも動画視聴を好まれる方はそちらをご覧ください。文字ではなく、アニメーションと音声で同じ概念を解説しています。 この記事は動画形式でも公開しています。 目次 useEffectの問題点とは? useLayoutEffectでチラつきを解決する 解決策が有効な理由:レンダリング、ペインティング、ブラウザ Next.jsやその他のSSRフレームワークでuseLayoutEffectを実行する ReactにおけるDOMアクセスについてもう少しお話ししましょう。"前回の記事 ReactにおけるRef:DOMへのアクセスから命令型
おはこんばんちは、@ちーずです。 アドベントカレンダー3日目にして、すでに毎日記事を書くことの大変さを実感してます 本日のテーマはuseEffectです! useEffectとは useEffectとは、関数コンポーネントで副作用を実行するためのhookです。 ...と言われてもReactにおける副作用ってなんぞ?ってなりますよね。 Reactのコンポーネントの世界において、副作用はコンポーネントのライフサイクルのことを指します。(多分) ▼ コンポーネントのライフサイクル (クラスコンポーネントにおけるライフサイクルメソッド名を添えて) マウントされる (componentDidMount) 更新される (componentDidUpdate) アンマウントされる (componentWillUnmount) 書き方 // 第一引数: コールバック関数(任意でcleanup関数を返す)
こんにちは。 Showcase Gig の金子です。 テイクアウト向けモバイルオーダーサービス「O:der ToGo(オーダートゥーゴー)」のフロントエンドエンジニアをしています。 本記事では、React に Value Object を適用した事例と、実装で得た気付きを共有します。 背景React でコーディングを進めていく際に、多くのドメインロジックをフロントエンドで実装していました。 多くのドメインロジックを含んでいる例を、 redux-ddd-exampleより引用します。 items を算出するために、コンポーネント内にドメインロジックが散在しています。 function TodoItems (props) { const { todos, updateTodo, deleteTodo } = props const items = todos.map(item , i) =>
Reactアプリケーションのアーキテクチャの一例として公開されているGitHubリポジトリ「bulletproof-react」が大変勉強になるので、私自身の見解を交えつつシェアします。 ※2022年11月追記 記事リリースから1年ほど経過して、新しく出てきた情報や考え方を盛り込んだ続編記事を書いていただいているので、こちらも併せて読んでいただければと想います(@t_keshiさんありがとうございます!)。 ディレクトリ構造が勉強になる まずはプロジェクトごとにバラつきがちなディレクトリ構造について。 ソースコードはsrc以下に入れる bulletproof-reactでは、Reactに関するソースコードはsrcディレクトリ以下に格納されています。逆に言えば、ルートディレクトリにcomponentsやutilsといったディレクトリはありません。 たとえばCreate Next Appで作成
こんにちは!フロントエンドエキスパートチーム兼 Mira チームで活動している@nus3_です。 サイボウズが提供するkintoneは 10 年以上にわたり多くのユーザーにご利用頂いています。現在、kintone の開発が引き続きスケールできるように、Closure Toolsから React へと置き換えるフロントエンドリアーキテクチャプロジェクト(フロリア)が絶賛進行中です。 フロリアの詳細については次の記事をご覧ください。 Mira ってなんですか? フロリアプロジェクトにはいくつかのチームがあります。それぞれのチームはフロリアのゴールを達成するために、チームごとにオーナーシップを持って日々活動しています。 フロリアのゴールの一つに 「kintone のすべてのページが React によって表示されている」というものがあります。このゴールを達成するために、kintone の内部をこっ
はじめに 今回はフロントエンド(Next.js×TypeScript)におけるAPI通信手法について、基本的なAPI通信の手法に加えて、「Repository層, Model層, Factory, API-Client」を用いた手法を具体的なコード例とともに解説します。 この記事の対象者 フロントエンジニア初級者から中級者 API結合におけるディレクトリ設計が明確に定まっていない人 API通信をする上での「Repository層」「Model層」「Factory」 「API-Client」それぞれの責務について理解したい人 全体の概要図 後の章でこの部分は詳しく解説します。 基本的なAPI通信手法 今回紹介するAPI通信手法 基本的なAPI通信手法 カスタムフックを使わない場合 カスタムフックを使わない基本的なAPI通信手法としては下記が例の1つとして挙げられるかと思います。 src/ap
はじめに こんにちは、ラクスフロントエンド開発課の斉藤です。 記事タイトルはReact開発者なら知る人ぞ知るりあクト! TypeScriptで始めるつらくないReact開発のパロディです。とてもわかりやすい入門書なのでReact初学者の方には学びの第一歩として自信を持ってオススメできます! さて今回は、モダンなフロントエンド技術を採用したうえで、極力シンプルで開発体験を損なわないようなディレクトリ構成を考えてみたので共有したく記事にしました。現在実際に運用しているのですが、今のところ大きな問題も無くチームからの不満も上がっていません。しかし、個人的に微妙な部分もあるのでそちらの紹介も行いたいと思います。 今回、構成を考えるにあたって重視したポイントは以下の3点です。 新しく参入するメンバーでもすぐに理解できるシンプルな構成にしたい テストやリファクタしやすい構成にしたい できればルールが厳
人気のJavaScriptバンドルツール「webpack」の開発はなぜ終わり、後継として「Turbopack」の開発が始まったのか。開発者がその理由を語る 複数のJavaScriptやTypeScriptの依存関係などを解決し、コードやフォント、画像などのリソースなどをまとめるバンドルツール(あるいはモジュールバンドラやビルドツールなどとも呼ばれます)は、多数のライブラリやコンポーネントなどを用いてチームで開発するWebアプリケーションの開発には欠かせないツールとなっています。 そのバンドルツールの代表がwebpackです。約4万人のITエンジニアによるアンケート結果が示された「State of JavaScript 2022」でもwebpackはGulpやViteなどを抑えて最も人気のあるバンドルツールとなっています。 参考:「State of JavaScript 2022」公開。利用
なぜ書いたか 筆者もWebサイト制作をそこそこ長くやってきておりいまは業務でVueを書いたりちょっとReactを書いたりSvelteを書いたりしていますが、2年前くらいまではReactやES6の構文すら書いたことがありませんでした。 WordPressでのサイト制作が多く、機能が少ないサイト制作会社ではjQueryで充分なことも多く、恥ずかしながら業務時間外での学習や外部の情報を追うこともしていなかったため、開発系の技術スタックに慣れるのにかなり時間がかかりました。 まずはよく使うコードを見て解説しながら答えの一つを示し、よく出てくるコードをざっくり理解して書けるようにすることで、実務でReactを取り入れる取っ掛かりになればいいなぁという思いでこの記事を書いています。 続編は多分今月中に書きます。 こちらは基礎編です。 対象者 普段jQueryでWebサイトを制作している 生のJSはあん
Two Forms of Pre-renderingNext.js has two forms of pre-rendering: Static Generation and Server-side Rendering. The difference is in when it generates the HTML for a page. Static Generation is the pre-rendering method that generates the HTML at build time. The pre-rendered HTML is then reused on each request.Server-side Rendering is the pre-rendering method that generates the HTML on each request.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く