logo
/
ReactのsetStateで設定した値を同期的に反映させるには
setStateで設定した値はReactで更新が走らないとすぐには反映されない
なので以下のようにしても必要な値が手に入らない
const [isVisible, setIsVisible] = useState(true);
const func = () => {
 	setIsVisible(false)
 	console.log(isVisivle)
 }
以下のように更新を検知すればできるがよろしくはない
 const [isVisible, setIsVisible] = useState(true);

 useEffect(() => {
   console.log('ステートが更新された。');
 }, [isVisible]);
クラスコンポーネントではコールバックを渡して確実な変更した値を使用することが出来た
 this.setState({
	 isVisible: true 
 }, () => {
	 console.log('ステートが更新された。' + isVisible);
 });
Loading...
普通に事前に別の変数に格納してくれ
const [isVisible, setIsVisible] = useState(true);
const func = () => {
	const newValue = false
 	setIsVisible(newValue)
 	console.log(newValue)
 }