React と React Native のスレ (481レス)
1-

129: 2021/08/28(土)04:17 ID:5cd2kTad(1/7) AAS
useCallback これっている?
fnのMemoならMemoってキーワードも名称から抜けてるし
useMemo(() => fn, deps) と同じならなおさら...
130: 2021/08/28(土)04:35 ID:52Q/kK4D(1) AAS
fnをファットアローでインラインに書いてみ
131: 2021/08/28(土)04:42 ID:5cd2kTad(2/7) AAS
うー−ん!初学者だからなのか意味わからんです
132: 2021/08/28(土)04:46 ID:5cd2kTad(3/7) AAS
useCallback(fn, deps) が useMemo(() => fn, deps) こう書けるって事なんじゃないですか?
133
(1): 2021/08/28(土)04:54 ID:aWJHFkdS(1) AAS
useCallback((event) => {...}, deps) を useMemo(() => (event) => {...}, deps) って書きたいかって話
134: 2021/08/28(土)05:10 ID:5cd2kTad(4/7) AAS
>>133
良い!
そっちのが良い!

fnのメモなのに、useMemoCallback()になってないので直観的に思えない
初学者だと、ぱっと見CallbackするにはuseCallback()が必須に見える
理由はMemoの文字が入ってないから
135: 2021/08/28(土)06:24 ID:P0+dXebs(1) AAS
それ言ったらuseMemoなんてuseState使えばいいし内部でstate使ってるのにuseNemoStateじゃないの直感的じゃないよね
136
(1): 2021/08/28(土)08:24 ID:5cd2kTad(5/7) AAS
useCallback だと名称から、
コールバック使いますよ!の宣言に見えると言っている

実際はコールバックをメモしますよ!だから
コード読むとき直感的でないと言っている

実際、初学者で関数コンポネント内でコールバックを定義するときは
useCallback()を使わなければならないと思いこんでいる人が少なからず居ると思う
137: 2021/08/28(土)10:18 ID:rJz23Izt(1/2) AAS
Ionicと比べた場合のReact nativeのメリットはアプリの動作速度が速いところ?
138: 2021/08/28(土)10:19 ID:rJz23Izt(2/2) AAS
ageてしまって申し訳ない
139
(1): 2021/08/28(土)10:59 ID:4fr1GGj/(1) AAS
>>136
初学者は
> useCallback()を使わなければならないと思いこんでいる
で丁度いい
140
(1): 2021/08/28(土)11:35 ID:5cd2kTad(6/7) AAS
>>139
その心は?
141
(1): 2021/08/28(土)12:30 ID:fYYl/4Rj(1) AAS
>>140
不要なuseCallbackを書いても実害はない
超大規模ならチリツモでパフォーマンスに影響あるかもしれないが初学者には関係ない
対して必要なuseCallbackを忘れるとuseEffectやReact.memoに影響しうるが初学者には気付きにくい
最初は愚直にuseCallback書いて後から不要なケースを学べばいい
142: 2021/08/28(土)13:47 ID:17Xf1f5F(1) AAS
>>141
なるほど!
その意味であえて関数名もそうしたんだろうか...
143: 2021/08/28(土)23:14 ID:5cd2kTad(7/7) AAS
外部リンク:medium.com
"カスタムフックは技術的にはReact機能ではない" って

ステートレス関数に状態を保持する機能が
jsに元よりあるという事でしょうか?
144
(1): 2021/08/28(土)23:39 ID:tYNkdatt(1) AAS
カスタムフック===ユーザー定義フック
利用者(アプリケーション)で定義するものであってReactが提供する機能ではない
145
(2): 2021/08/29(日)00:17 ID:V85oGWwE(1/4) AAS
>>144
それは了解してた!(質問を間違えた!)

フックを実現する技術(ステートレス関数に状態を保持する機能)は
JSに元からあるという記述が公式にあったようにおもうのだけれど、
それは何?って事が言いたかった...
146
(1): 2021/08/29(日)01:51 ID:V85oGWwE(2/4) AAS
>>145
前のリンクの文意から推察するに、フックはreactの特別な機能じゃなく
JSのクロージャーと array.push と array.pop とかで実装できるって事かな?

誤りありましたらご指摘下さい
147: 2021/08/29(日)03:34 ID:pzZWZODD(1) AAS
引用しろボケカス
148
(1): 2021/08/29(日)12:10 ID:OiCqCGE7(1/2) AAS
>>146
前のリンクの文意というのが

> Since Hooks are regular JavaScript functions, you can combine built-in Hooks provided by React into your own “custom Hooks”.

ら辺のことなら全然違う
Reactが提供する「組み込みフック」はJSの普通の関数だからそれを組み合わせて「カスタムフック」を作れると言ってるだけ
Reactが「組み込みフック」をどう実装しているかは触れてない
公式にあったという記述がなんのことかわからないがユーザー向けのドキュメントにReactの内部実装について書いてあるとは考えにくいので何か勘違いしてるんだろう
149
(1): 2021/08/29(日)12:12 ID:OiCqCGE7(2/2) AAS
もっともReactの組み込みフックがJS(+Flowtype)で実装されてるのは考えるまでもなく事実
詳しく知りたければソースを読めばいい
外部リンク[js]:github.com
150
(2): 2021/08/29(日)13:18 ID:V85oGWwE(3/4) AAS
>>148
>>145 で言ったように、それは最初から解ってる
聞きたかったのは、フック自体の実装方法だよ!

>>149
そりゃそーーだ
151: 2021/08/29(日)13:41 ID:1XJvcbdc(1) AAS
>>150
お前さぁ・・・
フック自体の実装方法が知りたいならそう書けよ
無関係なリンクや公式のことを書くから「そんなことは書いてない」「お前の勘違い」「ボケカス」って話になるんだよ
つーか5ch開く前にすることあるだろ
152
(1): 2021/08/29(日)14:30 ID:LbdE2Z/6(1) AAS
>>150
preactのソースを読め
わずか400行そこらでhooksを実装してる
俺がここ数年で見たコードで最も美しいコードだ
型もついてるからめちゃくちゃ読みやすい

外部リンク:github.com
153: 2021/08/29(日)21:46 ID:V85oGWwE(4/4) AAS
>>152
(; ・`д・´)
154: 2021/09/18(土)13:05 ID:ZtgFEKoc(1) AAS
reduxでいままでやってたような処理ってhooksではuseContextとuseRuducerの組み合わせでやるってことであってます?
155
(4): 2021/09/20(月)00:13 ID:fIDZ4k/Q(1/2) AAS
最近react始めて、リスト構造を持つようなデータの画面表示は配列のmap関数使ってjsx書けってのは理解したんだが、配列の要素の持つデータを一か所でも変えると残りの要素は全く変わってないのに全てレンダリング処理し直すことになるよな?
reactが差分を見てくれるから実際のDOMに反映されることはないんだろうけど、変更された要素のコンポーネントだけにレンダリング処理させる方法ってないんか?
156
(1): 2021/09/20(月)00:18 ID:pwmEuNTH(1) AAS
>>155
keyを使え
チュートリアルにも乗ってたはず
157
(1): 2021/09/20(月)01:13 ID:GKDt5rSn(1/2) AAS
>>155
ならない
158
(1): 2021/09/20(月)02:01 ID:Rr9hULkc(1) AAS
>>155
要素を別コンポーネントにしてReact.memoする
その場合も156が書いてるようにkeyは必須
でも各要素のレンダリングがよほど重くない限り気にすることないと思うぞ
1-
あと 323 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.008s