実現したいこと
recoilでdefultのhello
ではなくgood morning
をログに出力したい
前提
next.jsでrecoilを使用してステートの管理を行っています。
setTestで値を書き換えた直後にconsole.log(test)としても書き換える以前の値が出力されます。
これはsetTestが非同期処理の為だと思いますが、setTestが実行されたことを確認してからconsole.log(test)を実行する方法をご存じの方は教えていただけませんでしょうか。
該当のソースコード
javaScript
1import { useEffect } from 'react' 2import { useRecoilState } from 'recoil' 3import { atom } from 'recoil'; 4 5const testState = atom<string>({ 6 key: 'testState', 7 default: "hello", 8 }); 9 10export default function Home() { 11 const [test , setTest ] = useRecoilState(testState) 12 useEffect(()=>{ 13 setTest("Good morning") 14 console.log(test) 15 },[]) 16 return ( 17 <> 18 <h1>Hello World!</h1> 19 </> 20 ) 21} 22