React と React Native のスレ (481レス)
React と React Native のスレ http://mevius.5ch.net/test/read.cgi/tech/1552134567/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
362: デフォルトの名無しさん [] 2022/09/27(火) 14:04:56.54 ID:CMfXpwKQ >>361 ・jsのクラス…いわゆるオブジェクト指向の考え方におけるクラス。継承やらなんやらできる。但し、プロトタイプベースであるjsではほとんど使われない ・クラスコンポーネント…super(constructor)みたいな書き方してstate管理するやつ。thisとか使いまくって見通しクソ悪い上にhooks使えないゴミ。progateや公式チュートリアルはこの書き方してるので初心者は騙される。 ・関数コンポーネント…スタンダードなreactコンポーネント。読みやすい。神。 こんなイ
メージだけど合ってる!? http://mevius.5ch.net/test/read.cgi/tech/1552134567/362
363: デフォルトの名無しさん [sage] 2022/09/27(火) 15:39:04.72 ID:D1kdTDEr >>362 Reactのクラスコンポーネントは無くなるんであれこれ考える必要ない 関数コンポーネントの一択だ JSの方は好みだな http://mevius.5ch.net/test/read.cgi/tech/1552134567/363
364: デフォルトの名無しさん [sage] 2022/09/27(火) 15:58:48.85 ID:aOp1T7nJ >>360 > Reactに関しては、本やらネットやらで関数しか使わねみたいな記述は多く見てたんだけど > 今配属されてるプロジェクトではクラスベースの書き方が多く見られたから > 現場では何だかんだ使うんだ!って勝手に納得してたけどそうじゃないのね Reactだから関数しか使わないということはないという認識 本やネットで見かけるサンプルコードはそのへんは主眼じゃないから参考にならんでしょ クラスベースを頭ごなしに否定するものではないと思うよ h
ttp://mevius.5ch.net/test/read.cgi/tech/1552134567/364
365: デフォルトの名無しさん [sage] 2022/09/27(火) 16:41:51.18 ID:MQqAKvI3 Reactコンポーネントに関してはクラスベースを頭ごなしに否定して構わない http://mevius.5ch.net/test/read.cgi/tech/1552134567/365
366: デフォルトの名無しさん [] 2022/09/27(火) 16:48:43.98 ID:CMfXpwKQ >>364 頭ごなしに否定する気はないんだけど (jsの)クラスベースの記述するメリットってどういうとこがあるの? 配属されたプロジェクトのコードを初心者目線で見てクラスベースと関数ベースが混在して読みにくいな、って印象なのよ http://mevius.5ch.net/test/read.cgi/tech/1552134567/366
367: デフォルトの名無しさん [sage] 2022/09/27(火) 17:25:00.79 ID:fOqsMNTu Reactに関しては関数コンポーネントしか使わないけど、それ以外の部分では臨機応変に使うのみよ。まぁそれでもclassの出番はかなり限定されるけど…… http://mevius.5ch.net/test/read.cgi/tech/1552134567/367
368: デフォルトの名無しさん [sage] 2022/09/27(火) 17:28:55.43 ID:YFL0VkhR プロジェクトメンバーにどうして混在してるのか聞いてみた? http://mevius.5ch.net/test/read.cgi/tech/1552134567/368
369: デフォルトの名無しさん [sage] 2022/09/27(火) 17:29:21.69 ID:fOqsMNTu jsにおけるclassの出番って、大量に作成し、なおかつ副作用があるオブジェクトがある場合くらい……。 http://mevius.5ch.net/test/read.cgi/tech/1552134567/369
370: デフォルトの名無しさん [sage] 2022/09/27(火) 18:13:32.56 ID:dJevJ7EZ クラスコンポーネントは公式に非推奨扱いじゃね http://mevius.5ch.net/test/read.cgi/tech/1552134567/370
371: デフォルトの名無しさん [sage] 2022/09/27(火) 18:15:33.41 ID:397xSubl 話の流れで関数コンポーネントかクラスコンポーネントかの話は終わってるのは分かるっしょ http://mevius.5ch.net/test/read.cgi/tech/1552134567/371
372: デフォルトの名無しさん [sage] 2022/09/27(火) 18:20:28.32 ID:dJevJ7EZ Reactなので将来容赦なくクラスコンポーネントが無くなるかサポート切ると思う http://mevius.5ch.net/test/read.cgi/tech/1552134567/372
373: デフォルトの名無しさん [] 2022/09/27(火) 20:04:34.40 ID:CMfXpwKQ >>368 うん 「本当はよくないんですけどね~~」 的なことを言ってたよ 他にも ・propsのバケツリレー ・コールバック関数使って 子→親へのprops逆流(これが一番酷い) ・アロー関数とnamed functionの混在 ・typeとinterfaceの混在 ・mui使ってるのに無駄にemotionでカスタムコンポーネント作成 等々……… どの現場もこんな感じなのかなぁとは思ったりするけど やっぱ立ち上げ段階でコーディングルールやら設計やらある程度固めとかないとスパゲッテ
ィ化するんだね http://mevius.5ch.net/test/read.cgi/tech/1552134567/373
374: デフォルトの名無しさん [sage] 2022/09/27(火) 20:20:13.86 ID:6DdS+dLy プロジェクトメンバーが現状を問題と捉えてるならどういう方針でコードを 書いていけばいいかお伺いを立ててそれに従うべきでしょ もちろん自分の意見があるならそれも伝えて http://mevius.5ch.net/test/read.cgi/tech/1552134567/374
375: デフォルトの名無しさん [sage] 2022/09/27(火) 20:22:10.28 ID:fOqsMNTu >>373 Java屋PHP屋Cobol屋の混成チームでコーディングルールも設計もフワフワとか地獄やん……。 PMがフロントエンド舐めてたのかな。 http://mevius.5ch.net/test/read.cgi/tech/1552134567/375
376: デフォルトの名無しさん [] 2022/09/27(火) 20:39:34.88 ID:CMfXpwKQ >>374 リモートだけどSESだから元請けに当たる人に対して ガチでWEB開発業務1ヶ月目の俺からは意見しにくいんよ、、(笑) スタイリングぐちゃぐちゃだったのはさすがに言ったけど でも言うとこは言ったがいいね。ありがとう。 >>375 アジャイルってこんなもんなんじゃないの?知らんけど(笑) でもしっかりしたreact案件でちゃんと現場のこと学びたいとは思うわ http://mevius.5ch.net/test/read.cgi/tech/1552134567/376
377: デフォルトの名無しさん [sage] 2022/09/27(火) 22:23:16.69 ID:/UUTRmF2 >>362 jsでクラス使わないことは多いが、だからといって今時 __proto__ なんて直接使わないから プロトタイプベース云々は関係ない。 http://mevius.5ch.net/test/read.cgi/tech/1552134567/377
378: 359 [sage] 2022/09/27(火) 23:17:49.69 ID:oW3s344K >>373 React実践の教科書、2021 基礎はこの本で良い。3日で読める propsのバケツリレーは、 グローバルState である、useContext を使うと書いてある これ以上に複雑なものは、Redux, Recoil, Apollo Client など useMemo など、use何々にはどういう機能があるか、すべて見た方がよい http://mevius.5ch.net/test/read.cgi/tech/1552134567/378
379: 359 [sage] 2022/09/27(火) 23:29:13.30 ID:oW3s344K Reactビギナーズガイド ――コンポーネントベースのフロントエンド開発入門 Stoyan Stefanov, 2017 この本には、createClass と書いてあるけど、 2017年6月には非推奨になっている var MyComponent = React.createClass({ render: function() { return React.DOM.span(null, "カスタムコンポーネント"); } }); http://mevius.5ch.net/test/read.cgi/tech/1552134567/379
380: デフォルトの名無しさん [sage] 2022/09/27(火) 23:53:21.49 ID:BMrl8a7V なんでそんなにクラスコンポーネントの話にこだわるの? http://mevius.5ch.net/test/read.cgi/tech/1552134567/380
381: デフォルトの名無しさん [] 2022/09/28(水) 20:45:18.22 ID:KHG5QcXL presentationalとcontainerに分けて書くといいよ、って本かなんかで読んだことある。今のプロジェクトでも実践されてる。 で、その辺の構成の都合上、仕方なくコールバック関数使ってpropsの値を子→親に伝播させてるけど普通なの? 一般的には状態管理ライブラリ使うべきだと思ってるけど認識違う? http://mevius.5ch.net/test/read.cgi/tech/1552134567/381
382: デフォルトの名無しさん [sage] 2022/09/28(水) 21:57:59.16 ID:Km2fmn1T プレゼンテーショナルとコンテナに分けるのはRedux全盛時代の流行でhooks以降は廃れた それとは別に親から子にコールバック渡すのは極めて普通 useReducerなんかそういう使い方がほとんどだろ その親がほとんどルート(いわゆるAppコンポーネント)に近いくらい上位にいるならそれはグローバルステート http://mevius.5ch.net/test/read.cgi/tech/1552134567/382
383: デフォルトの名無しさん [sage] 2022/09/28(水) 22:11:03.79 ID:0Dahyjoe グローブステートにRxで変更通知でどうですか? http://mevius.5ch.net/test/read.cgi/tech/1552134567/383
384: デフォルトの名無しさん [] 2022/09/28(水) 22:46:08.76 ID:HuYE1qae >>382 へー!なるほど! その経緯は知らんかったわ!ありがとう propsの大原則として親→子→…… があって、それを解消するためのグローバルステートと状態管理ライブラリ、という理解なんだけど グローバルステート使わずに普通にコールバックして直接、 子→親、孫→親みたいな渡し方してるのに違和感感じてたのよ 現場では割と普通のことなのね http://mevius.5ch.net/test/read.cgi/tech/1552134567/384
385: デフォルトの名無しさん [sage] 2022/09/28(水) 23:33:30.69 ID:N1fcW8jX え、一つのコンポーネントを表示とロジックに分けるやつもう廃れたのか… 今はどういうのが流行りなの? http://mevius.5ch.net/test/read.cgi/tech/1552134567/385
386: デフォルトの名無しさん [sage] 2022/09/28(水) 23:38:10.61 ID:QcgKtZxa ひょっとしてReact Routerって仕組み上ブラウザキャッシュ効かない? http://mevius.5ch.net/test/read.cgi/tech/1552134567/386
387: デフォルトの名無しさん [sage] 2022/09/29(木) 01:06:57.42 ID:6obmiat7 >>385 ロジックはhooks データ取得もhooks (swrやReact Query) そのデータ取得hooksはデータを表示するコンポーネントで呼び出す これは特にGraphQLではフラグメントコロケーションと呼ばれる GraphQL以外でもRemixがコロケーションを実現してる 総じて変に分類するより凝集度を高くする方向に進化してる http://mevius.5ch.net/test/read.cgi/tech/1552134567/387
388: デフォルトの名無しさん [] 2022/09/29(木) 01:29:18.28 ID:ffAnOOZb >>387 例えば複雑な条件と処理に応じた多様なウンコの画像表示するコンポーネントShowUnkoがあったとして その条件や処理をShowUnkoの中に全部書くのが流行りなん? presentationalとcontainerの例だと 複雑な条件と処理をcontainerに記述して 算出した結果をpresentationalに渡してウンコの画像が出るけど 今の流行りは色々なライブラリ駆使してそれらを一つに纏める、ってこと? …まぁ少なくとも個人開発してる頃は後者のが全然やりやすかったけど http://mevius
.5ch.net/test/read.cgi/tech/1552134567/388
389: デフォルトの名無しさん [sage] 2022/09/29(木) 07:28:27.58 ID:+pwL/l2M >>386 くっそ短絡的だった。サイズがデカイjsファイルだけURL固定すりゃ良いだけだったわ…… http://mevius.5ch.net/test/read.cgi/tech/1552134567/389
390: デフォルトの名無しさん [sage] 2022/09/29(木) 07:40:58.14 ID:6obmiat7 >>388 いやいやいやロジックはhooksって書いたじゃん 複雑な条件や処理とやらはuseUnkoに書いてShowUnkoはそれを使う http://mevius.5ch.net/test/read.cgi/tech/1552134567/390
391: デフォルトの名無しさん [sage] 2022/09/29(木) 08:51:14.08 ID:DUgkcSyO Ruby on Rails では、コントローラーの肥大化を防ぐために、 Skinny Controller, Fat Model を推奨した。 その結果、モデルが肥大化した そこで今度は、モデルの処理を減らすために、 Form Object, Service Object へ処理を分けた また表示処理は、Presenter へ分けた。 それで、Form Presenter, Model Presenter が出来た http://mevius.5ch.net/test/read.cgi/tech/1552134567/391
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 90 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.011s