【发布时间】:2019-08-16 08:16:38
【问题描述】:
我正在尝试在useEffect 中使用useState。我想访问和修改其中的一个状态(useEffect),这里命名为isAuth,并根据新状态渲染组件。
import React, { useState, useEffect } from 'react';
const Authentication = () => {
const [isAuth, setIsAuth] = useState(false);
useEffect(() => {
console.log(isAuth);
setIsAuth(true);
console.log(isAuth);
}, [isAuth]);
return <div>{isAuth ? <p>True</p> : <p>False</p>}</div>;
};
export default Authentication;
问题是在控制台中,我收到了false、false、true、true。而不是这个控制台,我希望第二个控制台消息是真的。有人可以解释它是如何发生的,以及在组件渲染之前我如何实际更改状态?
【问题讨论】:
标签: javascript reactjs react-hooks