我已经创建了一个简单的状态,并且增加了数字。我想在URL的参数改变时初始化状态,但是当我尝试这样做的时候,Render首先运行,并且状态没有初始化。我检查了console.log,发现即使我在useEffect中设置了状态,值也没有改变。请告诉我如何在gastby中初始化状态。范例第一个行“useLocation”获取URL信息,“useEffect”检测URL更改,“setState”初始化该值。
qeeaahzv1#
const [page, setPage] = useState(1); // this is initializing the state useEffect(() => { setPage(1);// this is updating the state }, [location.href]);
因此,每次访问呈现此组件的url时,状态都是初始化而不是更新
1条答案
按热度按时间qeeaahzv1#
因此,每次访问呈现此组件的url时,状态都是初始化而不是更新