React と React Native のスレ (481レス)
上下前次1-新
178(1): 2021/09/28(火)23:04 ID:s3NqJ5bC(3/3) AAS
>>176
なーるほどなぁ、面倒だけど確かにそれならできそう
>>177
おー?これはuseCallbackで包めるんか?ちょっと明日試してみるわ
おまえらthx
179: 2021/09/28(火)23:30 ID:pKLoFE48(1) AAS
>>178
input等のdomにマップされるコンポーネントに直接渡す関数をuseCallbackする必要はない
180(1): 2021/09/29(水)23:01 ID:lzBphG+K(1) AAS
>>177
あ、これ>>176と同じこと言ってるんか、勘違いしてたわ
このためにラップしたコンポーネントを作らなきゃいけないってのはなんかイマイチだけどそれくらいしかなさそうね。ありがとう
181: 2021/09/29(水)23:13 ID:VRCLPgDh(1) AAS
>>180
え?177は俺だけどラップしたコンポーネントってなんのことかわからねーぞw
ComponentAもおまえが作ってるんならそんなのいらないだろ
182: 2021/09/30(木)12:42 ID:TAcHeIwJ(1) AAS
componentAが自作かそうでないかに関わらず言ってることは同じだわな
どちらも子コンポーネント内で実装しないといけないことを言ってるんだから
183: 2021/09/30(木)14:23 ID:uxDakMZz(1) AAS
質問主はどう見ても>>155なんだから自作前提でよくて余計なことは省いた方がいいと思うね
184: 2021/10/03(日)21:36 ID:9xTT9AKy(1) AAS
material-uiのspeed dialをネストしたいんだけど無理かな?speed dial actionの代わりにspeed dialそのものを子に持ちたい
185(1): 2021/10/19(火)10:58 ID:I/uBXkGk(1) AAS
VSCodeでsassファイル保存時に自動フォーマット掛けたいですけどそれ出来る拡張ありますか?
186: 2021/10/20(水)21:47 ID:VGECjsMp(1) AAS
>>185
marketplace.visualstudio.com/items?itemName=BdSoftware.format-on-auto-save
標準搭載してほしいわ
187: 2021/11/09(火)10:45 ID:tf9NUtHx(1) AAS
イベントと副作用フックどっちでもいい時に、どちらを優先して使うほうがより良いとかってある?
keyを入力するテキスト入力欄、valueを表示するテキスト表示欄がある
keyが変化するとデータを鯖から取ってきてvalueに設定したい
副作用フックでkeyを監視するか、key入力欄の変更通知イベントを使うか、どっちでもいいけど、どちらかというとどっちが良いか?
188: 2021/11/09(火)11:13 ID:ppTxKkYh(1) AAS
入力欄の変更イベントで十分だろ
そしてuseDefferedValue経由の値でサーバを叩く
189: 2021/11/17(水)09:45 ID:gjeYELEc(1/2) AAS
素朴な疑問
状態を持ったり副作用を持ったりするコンポーネントってぶっちゃけclassのほうが可読性いいよね?
フックは書く時は楽だけど後で見るとナンジャコラ?ってなる
190: 2021/11/17(水)10:40 ID:yi3gjxGP(1) AAS
>>110を読んでないってわかんだよね
191(2): 2021/11/17(水)11:55 ID:gjeYELEc(2/2) AAS
例えばの話、コンポーネントの初期化処理と終了処理はどこでやるの?って新人の疑問に対して
classコンポーネントなら
見たまんまcomponentDidMount、componentWillUnmountだよ
このメソッドを用意しとくとこのコンポーネントを持って管理してるフレームワークさんが、
いい感じのタイミングで呼び出してくれるよ
こう教えてやれば、直感ですぐさまなるほど、と理解して貰える
しかし関数コンポーネントでは純粋関数とは何か、副作用とは何か、フックとは何か、useEffectとは何か、useEffectの引数は何か、引数の戻りの関数は何か
ということをよく理解して頭の中で読み替えないといけない
なのでじっくり時間をかけて教えても、それでも理解するには時間を要する
関数コンポーネントはこんなのが無数にある
だから理解しにくい
タイピングの文字数は減るので書くのは楽だ、ということは確かだが
理解しやすさで言うと、ちょっとね、、、
192: 2021/11/17(水)16:48 ID:QzSwOiy0(1) AAS
宣言的なReactを命令的に読み替えるんじゃ永遠に理解できないだろうな
そういう教え方をされる新人がかわいそうだし同情しかない
193: 2021/11/17(水)20:00 ID:h3betjKK(1) AAS
reactでいくつかのファイルがあって保存(ctrl+s)すると
コンパイルしてくれるファイルとしてくれないファイルがあるんだけど違いってなんですか。。。
194(1): 2021/11/17(水)20:55 ID:Wtj2hevs(1) AAS
使ってるide (vscodeとか) のスレで聞け
195: 2021/11/17(水)21:47 ID:h3+MjybB(1) AAS
>>191
クラスって何?メソッドって何?継承って何?
196: 2021/11/17(水)22:25 ID:N4+deCyE(1) AAS
>>191
クラスだとマウント/アンマウントじゃなくてpropsが変わるたびに開始処理終了処理するってなると全然違うこと教えなきゃダメだろ
197: 2021/11/18(木)00:22 ID:3dlOBCKi(1/7) AAS
レアクトは宣言的だけど実用的なアプリケーションは全て有状態の手続きの塊じゃん?
ということはレアクトと「この不都合な現実世界」を上手いこと切り離して管理する方法が必要なんだよ
それがオブジェクト指向ってわけでね
関数コンポーネントは分離すべき手続きと宣言が渾然一体となっていてわかりにくい
オブジェクト指向を使えば
オブジェクトとオブジェクトを描画する純粋関数に分離することは容易い
それがrenderメソッドな訳だな
198: 2021/11/18(木)00:44 ID:aYAbIgl/(1) AAS
レアクト
199: 2021/11/18(木)00:47 ID:F8B2t3Oi(1) AAS
また知恵遅れクラス信者か
この流れ何度目だよw
200: 2021/11/18(木)01:15 ID:3dlOBCKi(2/7) AAS
関数が優位に立つのはDOMのレンダリングだけ
状態管理と手続きという不可避の現実はオブジェクト指向で処理したほうがいい
関数は状態が無いものだけを扱うべき
201(1): 2021/11/18(木)07:26 ID:sAyjJzQx(1) AAS
状態や手続きを分離する方法はオブジェクトだけじゃない
モナドもそれだしReactの場合は代数的作用が背景にある
202: 2021/11/18(木)07:56 ID:JMkvun5L(1) AAS
>>70辺りからの話を繰り返してるな
高々200しかレスがない過疎スレなんだから一通り読んでから書けばいいのに
203: 2021/11/18(木)08:07 ID:3dlOBCKi(3/7) AAS
>>201
できる、と、簡単にできる、は全く違うからなぁ
モナドもあるしとか言っても、それはオブジェクト指向の簡単さ、理解しやすさ、使いやすさには到底及ばないわけだよ
204: 2021/11/18(木)08:56 ID:O/tzCGdy(1) AAS
それってオブジェクト指向を学んでから進歩してませんって自己紹介にすぎなくてオブジェクト指向がしっくりこなかったstaticおじさんと同じなんだよな
205: 2021/11/18(木)10:18 ID:5if92K6E(1/3) AAS
理解しやすさ簡単さはオブジェクト指向から学んできたおじさんと関数型から学んできた若者で違うから議論してもしゃーない
それよりReact18がベータになったことだしConcurrent Renderingを知るべき
そしたら行儀の悪いクラスコンポーネントがReactにとって不都合だとわかるし関数コンポーネントで行儀の悪いコードを書きにくくしてることもわかるだろう
206: 2021/11/18(木)10:23 ID:5if92K6E(2/3) AAS
Concurrent Renderingでは1回のレンダリングでrenderメソッドや関数コンポーネントが複数回呼ばれることが起こるようになる
いわゆる再レンダリングで複数回じゃなくて例えばdidMountが呼ばれる前にrenderが何度も呼ばれることが起きるようになる
だからrenderメソッドの中でthis.xxxを更新するなどの副作用があると破綻する
それは元々やるべきことじゃなくて行儀か悪いだけなんだがクラスコンポーネントでは書こうと思えば簡単に書けてしまう
そういうバグを検出するために前から用意されてたのがStrictモードだがあまり使われてるのを見たことはないな
クラスコンポーネントだとthis.stateはthis.setStatateを通じてReactが管理してるがその他はクラスコンポーネント任せで野放しになってるのがReact側から見た問題
そこで導入されたのが関数コンポーネントで状態や副作用の扱いが制限されて簡単に見えないのは意図的なんだよね
207: 2021/11/18(木)10:29 ID:5if92K6E(3/3) AAS
将来のReactではマウント・アンマウントも複数回行われるようになる
これもコンポーネントのインスタンスが変わる場合の話じゃなくて一つのコンポーネントインスタンスが何度もマウント・アンマウントを繰り返すようになる
クラスコンポーネントではdidMount/willUnmountか同じthisの上で何度も呼ばれることになるんだろう
だから従来のライフサイクルという考え方だと破綻する
useEffectは以前からライフサイクルと考えてはいけないと言われてるしそのためにuseEffectのコールバックは冪等にすべきという原則もある
React18ではそれによって起きる問題を検出するためにStrict Effectモードが増える
こうなるとuseEffectを従来の初期化処理・終了処理に読み替えて理解させるのは単純に間違いということになる
どちらが理解しやすいかという次元の話じゃないんだよね
上下前次1-新書関写板覧索設栞歴
あと 274 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.012s