ð ãã°ã€ã³ç¶æ ã®ä¿åæ¹æ³ãåãæ¿ãããããã°ã¢ãŠãã§ããªããªã£ã話
æçš¿æ¥: 2025幎05æ16æ¥
ããã«ã¡ã¯ã仿¥ã¯ãåŠç¿ã¢ããªãLernovaãã®éçºäžã«ééãããããã°ã€ã³ç¶æ ã®ä¿æããæè»ã«ããããšã§ãã°ã¢ãŠãã«äžå ·åãåºã話ãå ±æããããšæããŸãã
ããšããšãããã°ã€ã³ç¶æ ãä¿æããïŒããªããããŠãŒã¶ãŒãéžã¹ãããã«ããããšæããæ¬¡ã®ãããªæ¹éã§å®è£ ãé²ããŸããã
ãããŸã§ã¯ããŸãåäœããŠããã®ã§ããããããšãæ°ã¥ããŸããã
ãããïŒãã°ã¢ãŠãããŠããŠãŒã¶ãŒæ å ±ãæ®ã£ãŠããâŠïŒã
ç¹ã« sessionStorage
ã䜿ã£ãŠããã¯ãã®ãŠãŒã¶ãŒã§ããã©ãŠã¶ãåèµ·åããŠããã°ã€ã³ç¶æ
ãç¶ããŠããçŸè±¡ãçºçããŸããã
åå ã¯åçŽã§ããã
supabase.auth.signOut()
ã ããå®è¡ããŠããŠã
localStorage
/ sessionStorage
ã® persistLogin
ãã©ã°ãåé€ããŠããªãã£ãã®ã§ãã
ãã®ãããã»ãã·ã§ã³ã®çµäºãšããã³ããšã³ãã®ç¶æ
ã®äžäžèŽãèµ·ãããŠãŒã¶ãŒæ
å ±ã SWR
ã®ãã£ãã·ã¥ã«æ®ã£ãŠããŸã£ãŠããã®ã§ãã
以äžã®ããã«ããã°ã¢ãŠãæã®åŠçãèŠçŽããŸããã
await supabase.auth.signOut();
localStorage.removeItem("persistLogin");
sessionStorage.removeItem("persistLogin");
mutate("supabase-session", null);
mutate(`user-${userId}`, null);
ãŸããuseSession()
ããã¯å
ã§ã persistLogin
ã®ç¶æ
ãèŠãŠå¶åŸ¡ããããã«æŽçããŸããã
ç¶æ ãæè»ã«åãæ¿ããæ©èœãå®è£ ãããããè§£é€ã®ãã¿ãŒã³ããåæ§ã«æè»ã«èšèšããªããã°ãªããªããšããæèšãåŸãŸããã
ç¶æ ãåãããªããç¶æ ã®çµäºåŠçïŒã¯ãªãŒã³ã¢ããïŒãåããŠããã¹ãã
ç¹ã«ã»ãã·ã§ã³ç®¡çã¯ã»ãã¥ãªãã£ã«ãé¢ããéšåãªã®ã§ãæŒãããããšãªã¹ã¯ãé«ããªããŸãã
ãã°ã€ã³ç¶æ
ã persistLogin
ã«ãã£ãŠå€æãããã¹ããã©ã¯ãã£ã¹ããããžã§ã¯ãã«ãŸãšãã
SWR
ã® fallbackData
ãæŽ»çšããããé«éã«ã»ãã·ã§ã³ïŒåŠç¿èšé²ã衚瀺ããäœå¶ãž
ãã¹ãã³ãŒãã«ããç¶æ 確èªãèªååããŠãã
Webã«ããããã¶ã€ã³ã®ã³ã
ãªãªãžãã«ã¢ããªå¥®éèš
èªåæ ç±å€§éžã-æè¬ãäŒããããšæããæžããŸãã-
å人éçºã®ã¢ãããŒã·ã§ã³ç¶æ(TAã®ãããã)
ãŸãããã粟ç¥ã®æ³šæç¹
ã¿ããªçé¢ç®éããïŒãŸãããã粟ç¥ã®ããã
å®è£ ã§ããã¬ãã«ã®ç²åºŠã«ã¿ã¹ã¯ãåè§£ããæ¹æ³
å人éçºã®ã¢ããªéçºã§GitHub Projectsã䜿ã£ããã±ããç®¡çæ¹æ³
ã13ç« ãå®åäœéšèª²é¡ã®ææ³
Codex䜿ã£ãŠã¿ãå ±å
ð ãã°ã€ã³ç¶æ ã®ä¿æããŠãŒã¶ãŒãéžã¹ãããã«ãã話ãLernova éçºèšã
ðãNext.js à SWRãåŠç¿èšé²ã¢ããªã«ããŒãžããŒã·ã§ã³ãå°å ¥ãã話