はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    WWDC25

『qiita.com』

  • 人気
  • 新着
  • すべて
  • JavaScriptジェネレータ関数とユーティリティで楽に配列を生成する - Qiita

    22 users

    qiita.com

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    • テクノロジー
    • 2025/06/06 14:00
    • JavaScript
    • あとで読む
    • techfeed
    • 資料
    • プログラミング
    • JavaScriptで配列を非破壊的に変更するならこうしよう2025 - Qiita

      8 users

      qiita.com

      はじめに JavaScriptの配列操作には、元の配列を直接変更する「破壊的(destructive)」なメソッドと、元の配列は変更せず、一部が元と異なる《新しい》配列を生成する「非破壊的(non-destructive)」なメソッドがあります。 「破壊的か非破壊的か」を意識べきケースの例として、React があります。React はオブジェクトの同一性のみによって《画面の状態が更新されたか》を判定するので、配列などのオブジェクトを set 関数で更新する場合には、非破壊的に変更する必要があります。 かつては、非破壊的操作のメソッドが十分にそろっていなかったので、非破壊的操作が必要な場合に「古い配列をコピーしてから、新しい配列に対して破壊的操作をする」ことでしのぐことが多くありました。 しかし、今は違います。 主に ES2023 で「配列の非破壊的な変更」のメソッド群が追加され、サポートが

      • テクノロジー
      • 2025/03/28 15:15
      • JavaScript
      • techfeed
      • 資料
      • プログラミング
      • tips
      • あとで読む
      • React19はforwardRef絡みの長ったらしい型記述を無くしてくれる - Qiita

        20 users

        qiita.com

        TL;DR (3行まとめ) React 18 までは、TypeScript で forwardRef するために、ref の型を書いたり、引数の順番・型引数の順番を気にしたり、めんどくさかった React 19 では、forwardRef が不要になり、普通に ref Prop を受け取れる TypeScript 型の記述量がかなり減って、書き間違いやすい部分も削減された React18までの書き方 React 18 以前では、ref Prop を指定できるコンポーネントを書くために、forwardRef を使う必要がありました。 生の button と同じように、属性、ref を設定できるカスタマイズ性を保つ カスタマイズ性を保ったまま、CSS Modules でスタイルを設定する という要件を満たす「button をラップしたカードUIコンポーネント」を作成するためには、以下のようなコ

        • テクノロジー
        • 2024/12/01 10:10
        • React
        • javascript
        • techfeed
        • あとで読む
        • 【useEffect】初回にも実行されて困るなら《何をキッカケに、どう更新されるか》を見直せ - Qiita

          26 users

          qiita.com/honey32

          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

          • テクノロジー
          • 2024/06/28 14:51
          • react
          • あとで読む
          • 【CSS】「状態変化」と「バリエーション違い」はCSS変数で整理できる - Qiita

            14 users

            qiita.com/honey32

            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

            • テクノロジー
            • 2024/06/18 19:18
            • CSS
            • あとで読む
            • 資料
            • プログラミング
            • 【React】ライブラリの《ステート系機能》と《手続き的取得機能》を区別しよう - Qiita

              6 users

              qiita.com/honey32

              React Hook Form の場合 いきなりですが、下のコードを見てください。 「姓」と「名」の入力フィールドがあって、その下にある「ちゃんと再計算される氏名」に続いて姓と名をつなげた文字列が出力されます。 「ちゃんと再計算される氏名」は、姓および名を入力するたびにキチンと更新されます。 "use client"; import { type FC } from "react"; import { useForm } from "react-hook-form"; type ProfileFormValues = { familyName: string; personalName: string; }; const ProfileEditPage: FC = () => { const { watch, // // getValues, register, handleSubmit,

              • テクノロジー
              • 2024/03/16 15:03
              • あとで読む
              • 【JavaScript】「キレイなコード」を考える #1 null 結合 `??` ・オプショナルチェーン `?.` 演算子を使う - Qiita

                6 users

                qiita.com/honey32

                Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                • テクノロジー
                • 2023/07/01 12:02
                • 資料
                • プログラミング
                • JavaScript
                • tips
                • あとで読む
                • 【React Server Component】Server を Client の内側に注入できる Composition の力 - Qiita

                  3 users

                  qiita.com/honey32

                  App Router では Server Component 中心になるらしいけど、動きがある要素には Client Component が必要になるから、どうせ全部 Client Component で書くことになるんでしょ? Next.js App Router で Server component (以下 Server Comp.) に触れようとすると、このような疑問が出てくるかもしれません。しかし、Composition パターンによって 「Client Comp. の中に Server Comp. が入っているように見える」画面を実現できるようになります。 前置きの前置き: 公式ドキュメント Next.js 公式ドキュメントには、 Next.js における Server Comp. と Client Comp. の使い方についての記述があります。当記事はこのドキュメントを希釈した

                  • テクノロジー
                  • 2023/06/21 17:46
                  • あとで読む
                  • 【React】Context を使う前に #2 コンポジション (ReactNode 型の Props) を使え - Qiita

                    36 users

                    qiita.com/honey32

                    Props のバケツリレー (Props Drilling) を解決するときに、安易に Context を使ったり、状態管理ライブラリ(Recoil, Jotai, Redux)に頼っていませんか? そんなことをせずとも、「CompA が CompB を使い、CompB が CompC を使い、 CompC が ...」という依存関係のチェーンを浅くするのが最善の解決策である場合があります。 KISS (Keep It Simple Stupid) という名言があるように、「Props を渡すだけ」というわかりやすい方法を取ることで、将来のコード読解が楽になり、メンテナンスが容易になり、そもそもバグの混入を防げるので、一石三鳥です。 前回の記事で述べた「そもそも無駄なコンポーネントを挟まない」テクニックでも残ってしまった Props のバケツリレーを削減する方法として、この記事では コンポ

                    • テクノロジー
                    • 2023/06/17 12:42
                    • react
                    • あとで読む
                    • qiita
                    • 【React】Context を使う前に #1 無駄なコンポーネントの層を削れ - Qiita

                      12 users

                      qiita.com/honey32

                      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                      • テクノロジー
                      • 2023/06/15 00:15
                      • techfeed
                      • あとで読む
                      • 1次元の場合でも flex-shrink, flex-grow が必要なら CSS Grid でもいいんじゃない? - Qiita

                        9 users

                        qiita.com/honey32

                        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                        • テクノロジー
                        • 2023/06/03 20:53
                        • css
                        • 資料
                        • プログラミング
                        • Web
                        • ステートの更新が反映されないのはタイミングのせいじゃない ―― 状態のスナップショットとレキシカルスコープ - Qiita

                          7 users

                          qiita.com/honey32

                          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                          • テクノロジー
                          • 2023/05/02 11:13
                          • あとで読む
                          • 【React】もっとデカルトみを感じたい ―― イベントの処理を親子で適切に分担する - Qiita

                            5 users

                            qiita.com/honey32

                            という疑問が出てきたはずです。 これを題材にして、イベントが起きた時の処理を親と子でどのように分けたら良いのか考えてみます。 リセットする責務だけを子に分担させる 親から渡されたイベントハンドラを実行したあとに、 setTitle を使ってステートをリセットします。 import { useCallback, useState } from "react"; import { Button, Grid, Input, Paper, Text, Title } from "@mantine/core"; type Props = { onCreateTodoItem: (newItem: { title: string }) => void; }; const TodoCreateArea: React.FC<Props> = ({ onCreateTodoItem }) => { cons

                            • テクノロジー
                            • 2023/02/20 22:04
                            • 【React】「困難は分割せよ」―― 複雑な画面は小さな機能に分けて実装しよう。 - Qiita

                              67 users

                              qiita.com/honey32

                              Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 「Divide and Conquer / 分割統治法」 という解法(アルゴリズムの話でよく出てきますね)は、「困難は分割せよ」 として知られる、デカルトが『方法序説』で提唱した思考法が元になっています1。 第二は、わたしが検討する難問の一つ一つを、できるだけ多くの、しかも問題をよりよく解くために必要なだけの小部分に分割すること。 ―― 岩波文庫 『方法序説』 デカルト著 谷川多佳子訳 同様に、React で多機能で複雑な画面を作りたい時、それを小さな機能の集まりと捉えて、それぞれをコンポーネントにすることで、開発がラクになることがあり

                              • テクノロジー
                              • 2023/02/01 10:23
                              • react
                              • あとで読む
                              • qiita
                              • techfeed
                              • コンポーネント分割
                              • 【React】誤解される useMemo と 誤用される useState ―― 「A の変更に反応して B の値が変わる」と考えるべきでない - Qiita

                                12 users

                                qiita.com/honey32

                                React において、 「フルネームは、名字と名前をつなげたもの(名字と名前は変わりうる)」 はどのように表せば良いのでしょうか? useState + useEffect でしょうか? useEffect は変更検知のためのものではありません。 useState は、「Prop・他のステートが変化するたびに毎回反応する」ような書き方をするのに向いていません。コードは無駄に長くなりますし、SSoT (Single Source of Truth) の原則に則していないので読みづらいです。 むしろ「ほかの値が変わっても、この値は変わらない」というケースに有効ですが、この点については、 『2. useState は初回レンダー(マウント)時のみ代入される』の章で述べます。 詳しい人は 「useMemo を使えばいい」と御存知かもしれませんが、 useMemo のことを「依存配列の値が変わったら

                                • テクノロジー
                                • 2022/12/16 09:18
                                • あとで読む
                                • 【React】useEffect の標準動作は「依存配列の中身が変わると実行」ではない - Qiita

                                  55 users

                                  qiita.com/honey32

                                  useEffect とは何か、ご存知ですか? useEffect? 知ってるよ。 依存配列に入れた値が変更されるたびに関数が実行されるフックでしょ? これは半分正解ですが、半分間違っています。 useEffect のデフォルトの挙動は「レンダーのたびに毎回実行」です。 依存配列は「変わった時に実行する」というより「変わらなければスキップ」と捉えたほうが良いかもしれません。 useEffect は再レンダー以外の変化を検知できません。 特にミュータブルなオブジェクトが絡む場合は注意 React 公式のドキュメントの解説を見ながら、以上の2つのポイントに絞って、誤解を解いていこうと思います。 宣伝 useMemo, useState についても記事を書きました。よかったらこちらも確認してください。 2023/10/03 追記: ブラッシュアップしました ブラッシュアップしたので、そちらの記事も

                                  • テクノロジー
                                  • 2022/12/01 09:27
                                  • React
                                  • あとで読む
                                  • qiita
                                  • MUI (Material UI) の TextField のスタイルを整える ―― 例のチョコチョコ動くラベルを止める - Qiita

                                    3 users

                                    qiita.com/honey32

                                    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                    • テクノロジー
                                    • 2022/09/17 17:56
                                    • MUI (Material UI) の Container で最大横幅を設定する ―― ヘッダーの幅固定もできるよ - Qiita

                                      3 users

                                      qiita.com/honey32

                                      Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                      • テクノロジー
                                      • 2022/09/09 17:45
                                      • そのファイル、本当に hooks/・utils/ に入れるんですか? ―― React プロジェクトを蝕む「見かけ駆動パッケージング」 - Qiita

                                        3 users

                                        qiita.com/honey32

                                        Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                        • 暮らし
                                        • 2022/07/23 12:54
                                        • article
                                        • programming
                                        • そのファイル、本当に hooks/・utils/ に入れるんですか? ―― React プロジェクトを蝕む「見かけ駆動パッケージング」 - Qiita

                                          94 users

                                          qiita.com/honey32

                                          Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                          • テクノロジー
                                          • 2022/07/23 09:21
                                          • react
                                          • hooks
                                          • あとで読む
                                          • architecture
                                          • techfeed
                                          • あいまいを避けて勘違いの起きない命名をするための体系的分類(を目指して) ―― 英文法による一般化と明確化 - Qiita

                                            343 users

                                            qiita.com/honey32

                                            はじめに:この記事を書いた動機 これらの素晴らしい先行記事を見て、「言語学を用いれば、共通点を見つけ出して一般化・大項目化したり、取り違えやすいエッジケースを明確化できるんじゃないか?」と思ったことが、この記事を書き始めたきっかけになります。 1章は3つの主要なパターンとその詳細・例外、2章はそれらに関する文法的な解説になっています。 構造化・体系化が必要な理由 太郎くんと花子さんが英作文の問題を解いています。 次の日本語を英文に訳せ。 (1) 彼女は楽しい人だ。彼女といると退屈することがない。彼女はいつも新しいことに挑戦して…… 太郎くん(『楽しい』って英語で何やったっけ……) 狩井先生@ 1年6月「exciting は楽しいって意味やで~」 ~~ 月日が流れる ~~ 柱鈴先生@ 2年4月「excited は楽しいって意味やで~」 太郎くん(……って教わったけど、exciting か e

                                            • テクノロジー
                                            • 2022/06/26 11:59
                                            • 命名規則
                                            • あとで読む
                                            • プログラミング
                                            • programming
                                            • 英語
                                            • 言語
                                            • naming
                                            • ネーミング
                                            • qiita
                                            • english

                                            このページはまだ
                                            ブックマークされていません

                                            このページを最初にブックマークしてみませんか?

                                            『qiita.com』の新着エントリーを見る

                                            キーボードショートカット一覧

                                            j次のブックマーク

                                            k前のブックマーク

                                            lあとで読む

                                            eコメント一覧を開く

                                            oページを開く

                                            はてなブックマーク

                                            • 総合
                                            • 一般
                                            • 世の中
                                            • 政治と経済
                                            • 暮らし
                                            • 学び
                                            • テクノロジー
                                            • エンタメ
                                            • アニメとゲーム
                                            • おもしろ
                                            • アプリ・拡張機能
                                            • 開発ブログ
                                            • ヘルプ
                                            • お問い合わせ
                                            • ガイドライン
                                            • 利用規約
                                            • プライバシーポリシー
                                            • 利用者情報の外部送信について
                                            • ガイドライン
                                            • 利用規約
                                            • プライバシーポリシー
                                            • 利用者情報の外部送信について

                                            公式Twitter

                                            • 公式アカウント
                                            • ホットエントリー

                                            はてなのサービス

                                            • はてなブログ
                                            • はてなブログPro
                                            • 人力検索はてな
                                            • はてなブログ タグ
                                            • はてなニュース
                                            • ソレドコ
                                            • App Storeからダウンロード
                                            • Google Playで手に入れよう
                                            Copyright © 2005-2025 Hatena. All Rights Reserved.
                                            設定を変更しましたx