1 名前:デフォルトの名無しさん mailto:sage [2022/01/16(日) 16:06:14.27 ID:Zy2wxIp9.net] Vue https://jp.vuejs.org/ React https://reactjs.org/ Angular https://angular.io/ Svelte https://svelte.dev/ ※前スレ Vue vs React vs Svelte Part.7 https://mevius.5ch.net/test/read.cgi/tech/1610901677/ Vue vs React vs Angular vs Svelte Part.8 https://mevius.5ch.net/test/read.cgi/tech/1621744952/ ★ここではjQuery, Ruby, C#, Blazorの話題は禁止です ★jQuery, Ruby, C#, Blazorキチガイが書き込んでも無視してください Next, Nuxt, Sapper, Gatsby, VuePress, RedWoodなどはおk。
152 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 17:30:42.61 ID:aL9hRZfU.net] >>147 マテリアルUIは使ったこと無いから知らないけど、親から子に関数渡す超初歩的なことならドキュメントに書いてあると思うよ
153 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 17:42:37.67 ID:vaBsc+P3.net] さすがにヘボすぎだろ
154 名前:デフォルトの名無しさん [2022/01/25(火) 18:38:47.07 ID:4LvgZIvr.net] Reduxほんとに使うこと無くなったね もう2度と関わりたくないよ
155 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 19:01:34.68 ID:qx8rIKSM.net] ゆうてまあここはReactについて答えられないやつばっかだしな 口だけなのよみんな
156 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 19:17:30.98 ID:EaWfnOTy.net] React使えば凄いもの作れるかといったらそうでもないし そもそもそんな凄いインターフェースなんか求められていない インターフェースなんかHTMLとCSSで作ればいいんだよね HTMLとCSSは随分と高機能になったから そこにちょっとjQueryで動きをつければ十分なことが多い イラストレータやCADソフトみたいなものはReactみたいなものが 便利だと思うけど、普通の管理画面インターフェースとかだとjQueryで十分
157 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 19:26:48.23 ID:FhpLBFKD.net] >>136 ボタンを押したら白くなる……がちょっと意味わからんけど &:hover { } を用意すればいいって話だったりするのかな
158 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 19:31:01.82 ID:LH8v1+14.net] >>153 上の方見ると詳しい人もいるし、単に余計な捨て台詞吐くから反感買ったんだと思う。 >>154 jQuery使うくらいならバニラの方が楽だな。
159 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 21:42:48.67 ID:EaWfnOTy.net] jQueryはバニラと混ぜて使えます。 バニラよりも簡単にかけるところだけ jQueryを使えばいいのでバニラが簡単というのは 理論的にありえません。
160 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 21:45:15.73 ID:EaWfnOTy.net] >>155 > &:hover { > } > > を用意すればいいって話だったりするのかな ありそうな話だな。CSSが苦手なくせに CSSを勉強しないから、無駄なJavScriptコードを書く人が多い そういうやつに限ってCSSをけなして 使えない自分を擁護している
161 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 21:55:05.28 ID:Gc3NttG8.net] はいはい。自分で立てたスレでやってね
162 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 21:56:02.66 ID:EaWfnOTy.net] ここでやるよ
163 名前:デフォルトの名無しさん [2022/01/25(火) 22:01:21.44 ID:TQ9E9Mb0.net] CSSの勉強とかする奴いるの?
164 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 23:02:59.34 ID:5lVpkzkK.net] 管理画面や業務システム系にはReactがベスト
165 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 23:04:55.60 ID:5lVpkzkK.net] フロントエンジニアなのにcss設計ができないならReact使う意味ない
166 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 23:19:08.31 ID:LH8v1+14.net] >>162 わかる。fetch待ってあっちの状態を拾いつつこっちに同期して副作用見ながらElement差し替えて……とか考えずにサクッと組めてほんと楽
167 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 23:42:58.03 ID:Vpk3TLE1.net] 漏れは、CSS は分からない。 Ruby on Rails で、SASS・Bootstrap しか
168 名前:知らない >>136 Railsでは、React, Bootstrap, Bulma, Tailwind が多い Material-UI, ElementUI は、あまり聞かない [] [ここ壊れてます]
169 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 00:10:14.89 ID:WZ6d76Ox.net] 最近のシングルページアプリケーション大嫌いだから早く廃れてほしいわ
170 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 06:29:00.55 ID:HVcJWVLp.net] いちユーザとしての嗜好をここに書かれてもなぁ。 SPAなんて15年位前からあるわけだし、スレタイのライブラリやフレームワークはSPA以外も作れるし。
171 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 10:46:32.23 ID:iN8tMMZ/.net] SPAがいいというか最初のロードで終わるから便利なのであって 今時ページ毎に読み込みとかダサいでしょw
172 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 11:25:39.57 ID:qAyrcykq.net] ページごとに読み込んでくれた方がリセットされる安心感がある あと遷移前のページとは基本的に切り離して考えて操作すればいいのねということがよくわかるからマルチページのほうが良いと思う マルチページのほうがハイパーリンクやRPAとの相性もいい これはあくまでユーザー目線になった時にどっち使いたいか?って考えたときにそう思うってだけね 開発者の目線だとSPAの方がアーキテクチャが綺麗に階層化されててメンテしやすく実装が簡単なのでいいと思う
173 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 11:26:22.51 ID:MBxJE5i4.net] 安心感w
174 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 11:29:29.66 ID:bON6Y6/t.net] >>168 ダサいとかいうお前の主観で判断するなや
175 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 11:30:21.31 ID:bON6Y6/t.net] >>169 マルチページだと、それそれが担当する範囲が分離されていて 複数の人が並行で開発しやすくなる 大規模システムに向いてる
176 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 11:31:05.53 ID:bON6Y6/t.net] ユーザー目線になった時SPAは「マルチページであるかのように見せる」 ということを徹底しなければいけない 本末転倒w
177 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 11:32:34.74 ID:qAyrcykq.net] >>170 草生やしてるけど安心感ってめちゃくちゃ重要だと思うんだが? 特にエンドユーザーはITのことなんてよく知らんから安心感が何より大事 「あっ、これはよくある普通の素朴なホームページだ、これなら簡単に使えそうだ。ホッとするね」って思ってもらえたら勝ちよ 逆に「な、なんだこれは。ブラウザなのにまるで業務用のデスクトップツールみたいに複雑だぞ。ひえ〜、動かし方が想像できない。う〜ん、こりゃ困ったぞ」って思われたら負け
178 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 11:38:28.35 ID:87bPqnWg.net] spaを何だと思ってるんだ? twitterが複雑で使いづらいとか聞いたことないが
179 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 11:46:40.80 ID:HVcJWVLp.net] ひょっとしてSPAだとルーティング出来ないと思ってるのでは?
180 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 11:53:28.56 ID:xGOCvJmU.net] >>174 お、そうだなおじいちゃんw
181 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 11:55:32.37 ID:Z2vFvGMM.net] >>175 一例だけで全体を押し測るのはどうかと思う >>176 従来のページ遷移に見せかけてるだけであって別の概念 やっぱり全てリセットほどの安心感はないね
182 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 11:56:49.13 ID:Z2vFvGMM.net] >>177 俺はまだおじいちゃんじゃないけど、世の中おじいちゃんおばあちゃん、おじさんおばさんがどんどん増えてるんだから、彼らに最適化したシステムを作るべきなんだよな
183 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 11:57:50.70 ID:bZeln90B.net] >>174 それは見た目(デザイン)の問題であって シングル/マルチとは関係なさそう
184 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 11:59:54.06 ID:MBxJE5i4.net] IE使ってそうなおじいちゃんだなw
185 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:01:00.51 ID:HVcJWVLp.net] >>178 概念が違っても見かけが同じなら気づかなくね?
186 名前:例えば、ユーザーはTwitterのタイムラインとツイート単独画面を別のページだと思ってるでしょ [] [ここ壊れてます]
187 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:03:56.46 ID:Q9+f1WtF.net] >>180 デザインの違いじゃなくてあの遷移するときのいったんリセットしてロードし直してる感が良いんだよ あれがあるとすごく安心するんだ
188 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:04:33.05 ID:Q9+f1WtF.net] >>181 Chrome、EDGE、時々Safari使ってる
189 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:10:01.72 ID:Q9+f1WtF.net] >>182 気付いてはいるだろう あれリロードされないぞって
190 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:16:09.14 ID:HVcJWVLp.net] それ、ただの遅いサイトでは……。 じゃあロード画面でも表示しますか
191 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:16:30.19 ID:uZbDoYzf.net] 現代の大半の人間はYouTubeやTwitterとかLINEやTikTokとかのアプリを長い時間使ってるし、それらのアプリはSPAの動きするから現代の人間にとってはSPAの方が慣れていると思うぞ ゆえにページ移動の度に画面が一瞬真っ白になるのって「なんやこれ?」ってなる
192 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:23:35.09 ID:Q9+f1WtF.net] >>186 ロード画面はいいかもね あとは上から徐々にレンダリングされていくあの感覚 あそこまで再現できれば安心感を演出できるかも
193 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:25:11.75 ID:Q9+f1WtF.net] >>187 ないない そんなのごく一部の例外だって 世の中のほとんどはまだSPAになってないし今後もならないだろう ユーザーはよく使うマルチページのほうが親しみがある
194 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:28:05.87 ID:HVcJWVLp.net] どこまでネタかわからん
195 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:28:56.83 ID:Q9+f1WtF.net] あとね SPAに慣れるってことは基本的にないんだ SPAで作った特定のアプリに慣れることはある だけどそれに慣れたとしても別のアプリには慣れない だってSPAのアプリは個性的でそれぞれ違う動きをするから これとは対照的にマルチページアプリはどれもウェブの作法を守ってるので異なるアプリでも共通点が多い なのでマルチページアプリに慣れるってのは大いにあり得る
196 名前:デフォルトの名無しさん [2022/01/26(水) 12:34:01.00 ID:uLc6Vrba.net] 慣れるも慣れないも時代によって使われる技術は変わるだろ 頭カッチコチの老人かよ
197 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:34:24.78 ID:8nn+xAqB.net] 視野が恐ろしく狭い
198 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:40:35.07 ID:uZbDoYzf.net] >>189 スマホ持ってないの? お年寄り用とか子ども用のスマホなら持ってる? それならYouTubeとかTwitter使えないかもしれないけども 言うてもネイティブアプリってSPAになってるやつしか見たことないな
199 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:41:06.07 ID:qAyrcykq.net] >>192 変わるものもあれば変わらないものもある HTML、HTTPはず〜〜〜っと昔からあってあまり変わってない SPAの方が異端なんだよ明らかに
200 名前:デフォルトの名無しさん [2022/01/26(水) 12:41:39.99 ID:uLc6Vrba.net] 親しみのあるガラケー使ってんだろ
201 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:42:31.75 ID:xGOCvJmU.net] 前にいたjqueryおじやろw
202 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:42:53.80 ID:qAyrcykq.net] >>194 ネイティブの話はしてないよ
203 名前:デフォルトの名無しさん [2022/01/26(水) 12:44:09.89 ID:uLc6Vrba.net] >>195 HTMLもHTTPも時代に合わせて変わってるけど? 変わってないのはお前の頭だけな
204 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:47:38.52 ID:qAyrcykq.net] >>196 流石にモバイルはとっくにスマホだよ 三輪車と自動車ぐらい差がつく物なら流石に自動車を選ぶ それは当然の選択だろう でもSPAとマルチページアプリってそこまで差がないと思うなー 普通の自転車とロードバイクぐらいの差かなー? つうか差がないどころか使い勝手はマルチページアプリの方が良いとすら思ってるよ 自転車の例えで言うと「あのー速いのはわかったんですけど、ロードバイクのハンドル持ちにくいんでね。普通のハンドルにしてくれませんか?」みたいな感じ
205 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:48:21.26 ID:qAyrcykq.net] >>199 あまり
206 名前:、って言葉が見えなかった? [] [ここ壊れてます]
207 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:49:54.45 ID:bON6Y6/t.net] >>175 > twitterが複雑で使いづらいとか聞いたことないが え?スクロールした後、進むとか戻るで スクロール位置がリセットされて使いづらいって聞いたこと無いの?
208 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:50:10.88 ID:qAyrcykq.net] >>197 いや開発者の立場だったらreactおじさんだよw ユーザー目線の使いやすさはともかく開発するだけならSPA途轍もなく簡単だからね 開発者なら楽な方を選ぶのが正解だ
209 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:50:45.25 ID:bON6Y6/t.net] Googleの検索なら、ページがあるから 10件単位ぐらいで位置を覚えてくれるから便利
210 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:51:23.72 ID:HVcJWVLp.net] 個人の感想過ぎる
211 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:51:54.58 ID:bON6Y6/t.net] 不便でもそれに慣れてしまうと、不便だって気づかない良い例だな
212 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:53:39.85 ID:uZbDoYzf.net] >>198 @アナリティクスとかアドセンス使ってればユーザーがアクセスしているデバイスが分かるけど、多くのWebサイトやWebアプリはスマホユーザーがめっちゃ多い AスマホユーザーってのはYouTubeとかTwitterとかのLINEとかのネイティブアプリを長い時間かけて使っていると考えられる BネイティブアプリってのはほぼSPAな動きをするから、ネイティブアプリを長い時間使ってるユーザー=SPAの挙動に慣れてる、と推測できる よってWebサイトにせよWebアプリせよSPAの方が、スマホユーザーにとっては体験がいいんじゃないの、ってことよ ただ、Aのスマホユーザーが「ネイティブアプリ触ってる時間は1日の内わずかです、割合で言うとWebサイトを閲覧してる時間の方が多いです」ってなったら上の理論は成り立たないよ
213 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:53:51.96 ID:qAyrcykq.net] >>206 SPAに慣れちゃったらそうなるのかなー?
214 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:56:24.92 ID:qAyrcykq.net] >>207 さっきも言ったけどSPAに慣れるってことはないんだよ 共通の作法がないからアプリごとに固有の見た目と動きがある なのでネイティブのアプリに慣れたとしてもそれでSPAに慣れたということにはならない SPAの個々のアプリについてそれぞれ練習が必要で習熟には時間がかかる
215 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:58:31.67 ID:qAyrcykq.net] >>207 続き 君が言ってることはつまりこういうこと 「YouTubeやLINEのネイティブのアプリに慣れたらVSCodeにも慣れたことになるよね」 そうはならんやろ?
216 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:58:49.67 ID:bON6Y6/t.net] SPAでMPAの動作を苦労して作る なら最初からMPAを使えば?
217 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 13:01:08.23 ID:qAyrcykq.net] >>211 苦労したくないからSPAで作る ユーザーには御免なさいだけど使いにくいものを使ってもらう 仕事だからね 信念とは違うこともやらんといかんのよ
218 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 13:01:30.33 ID:MBxJE5i4.net] 頭が固かったり、自分だけの意見を曲げられなくなってて意固地になったり、 長文だったり、連投したり、例えをしだしたり、 典型的な前時代のおっさんじゃんw ずっとブラウザリロードしてろよw
219 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 13:03:09.96 ID:nBTyT1HY.net] SPA大嫌いジジイを見てると、日本が何で発展しないかよく分かるわ 既存のやり方に固執して、変化する世界には目を背けて「今までこれでうまくやってきたからいいんだよ!」と開き直る 日本の中枢にいるやつらってこんなんばっかりだもんな
220 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 13:03:33.05 ID:qAyrcykq.net] >>213 中身への言及がない時点でお察しのレス
221 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 13:04:07.74 ID:MBxJE5i4.net] >>215 そういうとこw
222 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 13:06:20.85 ID:111KcgMU.net] なんか最近やたらNuxtからNextに移行しましたみたいな人増えたけど、これただreact使いたいだけだよねえ
223 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 13:08:51.44 ID:qAyrcykq.net] >>214 日本は世界でも有数の先進国だが? 国内にいると世界が見えないとよく言うがまさにそれだね 良いものは良いものとして長く使う 本当に良いものは取り入れて改良する 日本は今も昔もそうやって世界をリードしてきたんだよ SPAだと開発が簡単なところは評価している なのでうちもSPAを開発に取り入れている 発展はしているのだ それがユーザーの利便性に繋がるかはまた別の話 全てはコスト・パフォーマンス
224 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 13:11:54.93 ID:HVcJWVLp.net] jQueryおじさんと芸風が同じだな
225 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 13:12:25.00 ID:bON6Y6/t.net] >>213 MPAはリンクをクリックした時にページが自動的にロードされる わざわざブラウザをリロードなんかしない そんなことも知らないのか?
226 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 13:31:42.79 ID:MBxJE5i4.net] >>220 ん?ID:qAyrcykqと同じ人? MPAがどうだなんて絡んだつもりないぞw IEでjqueryおじがブラウザリロードしてそうだからw
227 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 13:44:37.41 ID:27MgWQmu.net] 4〜5年前からSPA前提の案件しかやならくなったけどなー てかMPAで済むような案件安くて割りに合わなくない? Nuxt使って開発中の機能プレビュー出来るようにしたら 客が気に入っちゃって毎回Nuxt指定で発注くるわw
228 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 13:54:40.62 ID:MBxJE5i4.net] 単価は分からんけどちょっとそこはなんとも言えない気もする 大規模ECのPC版サイトはいわゆるMPAが多い気もしていてそこが安いとも思えない あと古い業務システム(の保守とか)はまだ多くて、人こないから高くなってそう 後者の会社の人にSPAバリバリのページ見せると目が輝くw導入はまた別の話だけどもw
229 名前:デフォルトの名無しさん [2022/01/26(水) 14:32:09.32 ID:6uX2dnfy.net] このおじさんに名前つけようぜ
230 名前:デフォルトの名無しさん [2022/01/26(水) 14:36:23.23 ID:SY+BWxpR.net] 結局Reactが一番無難?
231 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 16:11:57.51 ID:OSgOrRx4.net] またこいつ暴れてるのかよ まあ好きにしろ それでジョーカーを防げるなら安いものだ
232 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 17:07:36.34 ID:111KcgMU.net] >>225 Reactがしっくりくるならreactでいいんじゃない 初学者が独学でフロントエンド学ぶってならユーザーフレンドリー強調してドキュメントとかに力入れてるvueでいいと思うけど
233 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 17:17:45.06 ID:HVcJWVLp.net] 表題のフレームワーク・ライブラリは全部ドキュメント充実してると思う。良い時代だ
234 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 18:21:10.66 ID:WZ6d76Ox.net] なんか荒れてて草
235 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 22:43:34.74 ID:22BwQ0lP.net] >>224 レガシーに縛られてるしかなりの石頭な上に自分から動くことももうできないみたいだから、化石とか?
236 名前:デフォルトの名無しさん mailto:sage [2022/01/27(木) 04:10:57.05 ID:Vqcphqwz.net] angularでプログレスバーの進捗率を操作してやってる良いサンプルコード無いですかね?
237 名前:デフォルトの名無しさん mailto:sage [2022/01/27(木) 23:44:42.37 ID:v/5cAqmG.net] ReduxやRecoilはコンポーネントの凝集度を上げ、疎結合とすることに意味があるのに すぐバケツリレーの是非の話に置き換えて議論してるのを見かける 本質はそこじゃないだろって毎回思う バケツリレーが辛いとか辛くないとかどうでもいいんよ
238 名前:デフォルトの名無しさん mailto:sage [2022/01/28(金) 12:25:41.63 ID:g6bFcMDa.net] コンポートがreduxやらrecoilといったインフラストラクチャに依存してたら嫌だな 疎結合を謳うならコンポートは純粋にして全ての副作用をpropsで渡すのが正解
239 名前:デフォルトの名無しさん mailto:sage [2022/01/28(金) 13:08:31.65 ID:bb5RMoJH.net] reduxとかは再描画抑えるってのが重要なのでは
240 名前:デフォルトの名無しさん [2022/01/28(金) 13:34:23.09 ID:nMKXYZ48.net] Hooksが当たり前になってから状態管理ライブラリそのものが必要なくなってきたけどね
241 名前:デフォルトの名無しさん mailto:sage [2022/01/28(金) 13:45:11.84 ID:YWAMkj5y.net] redux持ち上げてたやつ反省しろ
242 名前:デフォルトの名無しさん mailto:sage [2022/01/28(金) 14:21:14.42 ID:/PNsDlHJ.net] パフォーマンスに取り組もうとするとuseCallback地獄になってコードの見通しが最悪 依存性指定は間違えやすいのに間違えるとデバッグしにくいバグになって現れる 困ったものだ
243 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 07:46:05.80 ID:PT9fjyp1.net] こういうパターンがあるのか。良さげ コンポーネントをカスタムフックで提供する https://engineering.linecorp.com/ja/blog/line-securities-frontend-3/
244 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 08:42:38.68 ID:Alu86MyQ.net] 普通のカスタムフックに見えるけど うちのにもuseが大量に転がってるぞ カスタムフックだらけだ
245 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 08:55:48.59 ID:PT9fjyp1.net] 結構使われてるのか〜
246 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 09:12:06.81 ID:Alu86MyQ.net] >>240 関数が関数を帰す事をやってない人からみたら 目新しく見えるだけ
247 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 09:16:48.65 ID:PT9fjyp1.net] >>241 いや、高階関数には親しんでるけど、カスタムhookには詳しくなくてね。 勉強になりました。ありがとう
248 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 09:17:07.12 ID:7vtiEs09.net] ロジックと外観が密結合していてなんかもやもやするがこれが正解なのか?
249 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 09:20:42.85 ID:Alu86MyQ.net] >>243 笑 フック入門としては分かりやすくて良いけど
250 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 09:43:05.22 ID:7vtiEs09.net] renderは分けたほうがいいよ const useChecks = (labels: string[]) => { const [checkList, setCheckList] = useState(labels.map(x=>false)); const handleCheck = useCallback((index: number) => { setCheckList((checks) => checks.map((c, i) => (i === index ? !c : c))) }, []); return { labels, checkList, onCheck: handleCheck, isAllChecked: checkList.every(x=>x) } const App = () => { const checks = useChecks(["a", "b", "c"]); return <div> <Checks {...checks} /> <button disabled={!checks.isAllChecked}>next</button> </div> }
251 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 09:52:17.20 ID:7vtiEs09.net] >>244 理解できるかどうかでなく良し悪しの問題な フックは元々コンポートから状態・副作用を抽出するためのものなのにrender hookパターンじゃあ取り除けてないどころかさらに強固に結び付いてるじゃないか? 俺が書いたごく普通のフックなら完全に見た目と振る舞いが分離してるので再利用性が抜群に高く、デフォルトの動作を提供するのも簡単だろ
252 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 11:30:56.31 ID:Alu86MyQ.net] 抽出? 笑