React と React Native のスレ (481レス)
React と React Native のスレ http://mevius.5ch.net/test/read.cgi/tech/1552134567/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
197: デフォルトの名無しさん [sage] 2021/11/18(木) 00:22:44.81 ID:3dlOBCKi レアクトは宣言的だけど実用的なアプリケーションは全て有状態の手続きの塊じゃん? ということはレアクトと「この不都合な現実世界」を上手いこと切り離して管理する方法が必要なんだよ それがオブジェクト指向ってわけでね 関数コンポーネントは分離すべき手続きと宣言が渾然一体となっていてわかりにくい オブジェクト指向を使えば オブジェクトとオブジェクトを描画する純粋関数に分離することは容易い それがrenderメソッドな訳だな http://mevius.5ch.net/test/read.cgi/tech/1552134567/197
200: デフォルトの名無しさん [sage] 2021/11/18(木) 01:15:46.87 ID:3dlOBCKi 関数が優位に立つのはDOMのレンダリングだけ 状態管理と手続きという不可避の現実はオブジェクト指向で処理したほうがいい 関数は状態が無いものだけを扱うべき http://mevius.5ch.net/test/read.cgi/tech/1552134567/200
203: デフォルトの名無しさん [sage] 2021/11/18(木) 08:07:20.27 ID:3dlOBCKi >>201 できる、と、簡単にできる、は全く違うからなぁ モナドもあるしとか言っても、それはオブジェクト指向の簡単さ、理解しやすさ、使いやすさには到底及ばないわけだよ http://mevius.5ch.net/test/read.cgi/tech/1552134567/203
208: デフォルトの名無しさん [sage] 2021/11/18(木) 13:11:55.12 ID:3dlOBCKi それはuseStateを使うかlet変数宣言を使うかってのと同じこと 行儀の悪いコードはファンクショナルでも好きなだけ書ける ようするにプログラマの腕とモラルの問題 ファンクショナルがクラスに対して優位と示す証拠ではないな Reactが将来のバージョンアップでライフタイムサイクルの仕様変更となるなら 新しいライフタイムサイクルに適応したライフタイムサイクルメソッドを設ければいいだけ そしてその方がuseEffectより遥かに直感的で理解しやすくなるだろう 実際どんな名称になるかはレアクトマニアでない俺は知らんがおそらくは initializeComponent componentDidMount componentWillUnmount disposeComponent この辺りだろう なんてわかりやすいんだ! そもそも仕様変更されるからファンクショナルのほうがいいんだーって論理破綻しとるよな 仕様変更されたらそれに合わせてクラスコンポーネントも進化するのが当たり前 進化しないならそれはベンダーの怠慢 http://mevius.5ch.net/test/read.cgi/tech/1552134567/208
210: デフォルトの名無しさん [sage] 2021/11/18(木) 15:19:55.65 ID:3dlOBCKi 本来ライフサイクルメソッドではないuseEffectを、ライフサイクル目的で使わざるを得ない、という状況が非常にバッドだよねぇ APIの目的外利用ってバッドノウハウとか、黒魔術って呼ばれてるものだよ 最近はそういうの随分と減ったと思ったけど、ファンクショナルコンポーネントでは現役なんだなぁ useEffectはライフサイクルじゃない!ってんなら useInitializer useFainalizer この2つのフックはオフィシャルに提供した方がいいだろね それをしないというのはベンダーの怠慢でしかないよ そうすれば、useEffectの第二引数に謎の空配列を渡すと、お掃除する時にだけ呼ばれます! なーんて回りくどい、明快さのかけらもない、暗黙の了解はもう、要らなくなるわけだ 冷静に考えてわかりにくいだろ? 空配列ってさ http://mevius.5ch.net/test/read.cgi/tech/1552134567/210
212: デフォルトの名無しさん [sage] 2021/11/18(木) 16:43:19.19 ID:3dlOBCKi >>211 で、それは手続きだらけの現実世界には対処不能、と ファンクショナル界隈の連中って、なんでか理想論ばっかなんだよなぁ コンポーネント初期化時に一回、何か処理をしたい、って自然な要求に直接答える術がない useEffectという本来違う目的のためにあるものを、使うしかない これがファンクショナルの限界 例えばコンポーネント初期化時にログを追記したい、とかな 「状態維持する」って考えじゃ実現できねえ処理なんざ、世の中にはいくらでもあるんだ http://mevius.5ch.net/test/read.cgi/tech/1552134567/212
215: デフォルトの名無しさん [sage] 2021/11/18(木) 18:34:14.46 ID:3dlOBCKi >>213 いや、ファンクショナルの限界 ファンクショナルでは本来の目的から外れた使い方をしなければない 初回だけ処理したいだけなのに、状態を維持するファンクションを強要される http://mevius.5ch.net/test/read.cgi/tech/1552134567/215
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.021s