React と React Native のスレ (481レス)
React と React Native のスレ http://mevius.5ch.net/test/read.cgi/tech/1552134567/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
220: デフォルトの名無しさん [sage] 2021/11/21(日) 17:48:46.47 ID:UWSF5n1L お前がそう思うんならそうなんだろう お前ん中ではな http://mevius.5ch.net/test/read.cgi/tech/1552134567/220
221: デフォルトの名無しさん [sage] 2021/11/21(日) 17:55:48.39 ID:Wm1mwUDt オブジェクト指向のテクニックを使ってるだけでやってることはただの構造化なんだよな 所詮は構文の違いでしかない こうですか 最後は全部ただの機械語ですしね! http://mevius.5ch.net/test/read.cgi/tech/1552134567/221
222: デフォルトの名無しさん [sage] 2021/11/21(日) 20:40:46.53 ID:1yBKup76 例えばさ、 ちょっと複雑なコンポーネントを作ろうぜ、ってなったら、誰だってプログラムを分割するだろう? function useMyForm () { // 略::フックを使った汚いコード return { /* 美しいオブジェクト */ } } function MyForm () { const f = useMyForm() return <…..略 } useMyFormは何をやってるかというと、reactのフックを使った汚いコードを隠蔽して、 代わりにエレガントな形を持ったオブジェクトを生成して返してるんだね 詳細をカプセル化して、外から見て美しいオブジェクトを作る これはオブジェクト指向の基本にして、真髄 ファンクショナルのツールを使ってるだけで、やってることはオブジェクト指向、とはこういうこと それで、賢い人はこの匿名のオブジェクトに名前を付けて、さらに理解を助けるわけだ 例えばclass MyFormBehaivorとかね で、MyFormはMyFormBehaviorを継承してrenderを付けるだけ、だな、とすぐに気付く筈だね 結局さ、同じなんだよ、やってることが 同じなら、見た目に読みやすい方がいいに決まってる で、読みやすいのは断然、オブジェクト指向 QED http://mevius.5ch.net/test/read.cgi/tech/1552134567/222
223: デフォルトの名無しさん [sage] 2021/11/21(日) 20:55:13.47 ID:SJq+O3t2 しつこい http://mevius.5ch.net/test/read.cgi/tech/1552134567/223
224: デフォルトの名無しさん [sage] 2021/11/21(日) 21:04:01.25 ID:5qd0Nwtv ふむ、反論ができなくなったのかな? http://mevius.5ch.net/test/read.cgi/tech/1552134567/224
225: デフォルトの名無しさん [sage] 2021/11/21(日) 21:16:31.74 ID:zzbPLRQo 石頭の老害相手に反論しても無駄 http://mevius.5ch.net/test/read.cgi/tech/1552134567/225
226: デフォルトの名無しさん [sage] 2021/11/21(日) 22:35:19.11 ID:UWSF5n1L 馬鹿は論破できない http://mevius.5ch.net/test/read.cgi/tech/1552134567/226
227: デフォルトの名無しさん [sage] 2021/11/22(月) 10:00:05.25 ID:HTg16b0P 今どきfunctionって書くか? http://mevius.5ch.net/test/read.cgi/tech/1552134567/227
228: デフォルトの名無しさん [sage] 2021/11/22(月) 14:12:56.45 ID:yxcpONXb 書かない http://mevius.5ch.net/test/read.cgi/tech/1552134567/228
229: デフォルトの名無しさん [sage] 2021/12/03(金) 10:05:55.29 ID:OvhoAu9V ボタン連打するけしからん奴対策の定番ライブラリ教えてよ 送信フラグ管理はもう疲れた あ、いちおクロスプラットフォームのライブラリでヨロ http://mevius.5ch.net/test/read.cgi/tech/1552134567/229
230: デフォルトの名無しさん [sage] 2021/12/03(金) 16:35:10.63 ID:ZR9gqQ7Z ボタン押下で実行されるのをステートの値をtrueにするのみのsetAnyState(true)とかにして 実処理を useEffect(()=>{if(anyState){ // 実際したい処理 setAnyState(false) }},[anyState]) にしとけば連打されても大丈夫じゃね? http://mevius.5ch.net/test/read.cgi/tech/1552134567/230
231: デフォルトの名無しさん [sage] 2021/12/03(金) 18:25:47.16 ID:C14FVshC ボタンが押されたらボタンをdisabledにすればいいじゃん http://mevius.5ch.net/test/read.cgi/tech/1552134567/231
232: デフォルトの名無しさん [sage] 2021/12/03(金) 19:41:18.43 ID:L4TUqIiQ わろた http://mevius.5ch.net/test/read.cgi/tech/1552134567/232
233: デフォルトの名無しさん [sage] 2021/12/03(金) 19:41:36.25 ID:50htZSL3 それだとめっちゃ高速にダブルクリックした場合多分イベント2回来る場合ある http://mevius.5ch.net/test/read.cgi/tech/1552134567/233
234: デフォルトの名無しさん [sage] 2021/12/03(金) 20:19:23.32 ID:mMKMUGdN JavaScriptはシングルスレッド http://mevius.5ch.net/test/read.cgi/tech/1552134567/234
235: デフォルトの名無しさん [sage] 2021/12/06(月) 19:49:21.16 ID:56/uA2M5 function useMyHook() { const [a, setA] = useState(0); const [b, setB] = useState(0); return { foo: () => a+b, bar: () => a-b, }; } function MyComp () { const myhook = useMyHook(); useEffect(() => { if (myhook.foo() > 100 && myhook.bar() < 20) hoge(); } }, [???]); return <Aaaaa />; ???はどう書くのが正解? 推移的に依存してるのはa, bだがa、bには直接アクセスできない http://mevius.5ch.net/test/read.cgi/tech/1552134567/235
236: デフォルトの名無しさん [sage] 2021/12/06(月) 20:06:59.76 ID:4QzxG6KH useMyEffectもuseMyHookでやるべきじゃねーの それができないならuseMyEffectを foo: useCallback(() => a+b, [a, b]), bar: useCallback(() => a-b, [a, b]) とすれば[???]は [myhook.foo, myhook.bar] http://mevius.5ch.net/test/read.cgi/tech/1552134567/236
237: デフォルトの名無しさん [sage] 2021/12/06(月) 20:07:50.83 ID:4QzxG6KH とりあえずこれ読んどけ https://blog.uhy.ooo/entry/2021-02-23/usecallback-custom-hooks/ http://mevius.5ch.net/test/read.cgi/tech/1552134567/237
238: デフォルトの名無しさん [sage] 2021/12/06(月) 20:11:27.69 ID:4QzxG6KH >>236 1行目訂正 useEffectもuseMyHookでやるべきじゃねーの http://mevius.5ch.net/test/read.cgi/tech/1552134567/238
239: デフォルトの名無しさん [sage] 2021/12/06(月) 22:16:00.54 ID:zN0DCcOz >>236 thank you. http://mevius.5ch.net/test/read.cgi/tech/1552134567/239
240: デフォルトの名無しさん [sage] 2021/12/08(水) 14:16:37.56 ID:/W89KInL function MyComp () { const vm = useMyCompViewModel(); return <略 />; } MyCompのユニットテストする時ってどうしてる? つまりuseMyCompViewModelをインジェクトしたい時 http://mevius.5ch.net/test/read.cgi/tech/1552134567/240
241: デフォルトの名無しさん [sage] 2021/12/08(水) 15:51:56.43 ID:5zVi58LJ https://github.com/testing-library/react-hooks-testing-library http://mevius.5ch.net/test/read.cgi/tech/1552134567/241
242: デフォルトの名無しさん [sage] 2021/12/08(水) 19:22:47.15 ID:/W89KInL >>241 ? でもこれフックのテスト用なのでは? そうじゃなくフックをモック化してコンポーネントをテストしたい http://mevius.5ch.net/test/read.cgi/tech/1552134567/242
243: デフォルトの名無しさん [sage] 2021/12/08(水) 21:33:33.67 ID:Rfcvtfm3 テストだけならこんなんで十分じゃね function MyComp (props) { const useViewModel = props.useMyCompViewModel || useMyCompViewModel const vm = useViewModel(); return <略 />; } http://mevius.5ch.net/test/read.cgi/tech/1552134567/243
244: デフォルトの名無しさん [sage] 2021/12/08(水) 21:48:07.68 ID:lkzI+wPD 経年劣化に耐える ReactComponent の書き方 https://zenn.dev/takepepe/articles/howto-withstand-aging-react-component http://mevius.5ch.net/test/read.cgi/tech/1552134567/244
245: デフォルトの名無しさん [sage] 2021/12/08(水) 22:23:21.01 ID:SYjhTw/G >>243 なるぼどなぁ これで少しやってみよかな http://mevius.5ch.net/test/read.cgi/tech/1552134567/245
246: デフォルトの名無しさん [sage] 2021/12/11(土) 11:45:52.40 ID:zttGewLv サードパーティコンポーネントが状態や副作用を持っているがこれを除去してステートレスにしたい どうすればいい?ソースコードを書き換えるのは無しで http://mevius.5ch.net/test/read.cgi/tech/1552134567/246
247: デフォルトの名無しさん [sage] 2021/12/11(土) 11:52:28.47 ID:GrxR7SwR プルリクエスト http://mevius.5ch.net/test/read.cgi/tech/1552134567/247
248: デフォルトの名無しさん [sage] 2021/12/11(土) 12:05:31.62 ID:zttGewLv function IWantEasyTestableComponent(props) { return (<View> <FackingStatefullComponent foo={props.foo} /> <MyAwesomeStatelessComponent {…props} /> </View>); } こういうの、どうすりゃいいんだ? 野良ライブラリはどれもこれもアマチュアが好き勝手作ってるから、利便性はともかく品質のムラが大きすぎる できれば使いたく無いが、使う前提で予算と工程を組まれる オープンソースのダークサイドやね http://mevius.5ch.net/test/read.cgi/tech/1552134567/248
249: デフォルトの名無しさん [sage] 2021/12/11(土) 12:21:22.59 ID:GrxR7SwR jest.mock('path/to/FackingStatefullComponent') http://mevius.5ch.net/test/read.cgi/tech/1552134567/249
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 232 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.007s