22/01/17 18:44:23.62 8GhjbW2b.net
useSWRを使ってみるとか
(まだ使ったことないけど)
見た感じそれなりに使いやすそう?
import useSWR from 'swr'
function Profile() {
const { data, error } = useSWR('/api/user', fetcher)
if (error) return <div>failed to load</div>
if (!data) return <div>loading...</div>
return <div>hello {data.name}!</div>
}
24:デフォルトの名無しさん
22/01/17 19:25:32.08 05fLKY0G.net
>>23
単純なケースでしか通用しない気がするけどいけるんかな?
25:デフォルトの名無しさん
22/01/17 19:25:53.20 dRyGD2/c.net
>>18
コンポーネントにガッツリ副作用入れてどうすんだよw
26:デフォルトの名無しさん
22/01/17 23:06:59.06 piunERDu.net
はっはっは、だから言ったろ
お前が非同期処理を理解してないって
想像した通りに動いてくれるわけじゃないのだよ
不可能なことは、不可能
27:デフォルトの名無しさん
22/01/17 23:11:50.20 ZqR63tdH.net
>>18
そんなバグの温床になりそうなコード書くくらいなら、
componentDidMountでfetchして、素直にsetStateしとけ
それで済む話だろ
28:9
22/01/17 23:50:21.01 fRpijKvH.net
このスレは、荒らしが立てたスレです。
まともな人は、移動してください!
>>9-10
を参照
29:デフォルトの名無しさん
22/01/18 00:00:44.87 EicAqYVv.net
>>26
具体的な事言わずに批判だけするとか……老害かな?
30:デフォルトの名無しさん
22/01/18 00:30:02.59 lZlxHH3x.net
>>22
パラメータが変わらなければ同じpromiseが再利用されるので問題ない
31:デフォルトの名無しさん
22/01/18 15:39:09.53 WUNUlNdf.net
>>30
fetchFooは(シングルトンみたく)何度呼び出しても同じPromiseを返すって事か。それなら確かに問題ない。
そう云うPromiseを作るhookと待ってる間はFragment(か何かをDOMに接続)、あとエラー時用のインターフェイス(Promise関連だからcatchメソッドで良いか)が必要、と。
う~ん、俺はuseEffectでいいやw