Javascript 更改路线前设置状态

Javascript 更改路线前设置状态,javascript,reactjs,react-router,react-16,Javascript,Reactjs,React Router,React 16,我通过React 16中的提供者/消费者上下文API使用了一个身份验证状态 我最初在我的主App中将此属性的状态设置为false,然后对于任何受限制的组件(即需要验证的组件),我向后端进行查询,以检查客户端上的当前令牌是否有效 因此,当用户更改浏览器URL时,我希望身份验证始终作为false被任何组件最初使用 如何在每次路由更改时重置身份验证?我正在收听历史记录。收听但是如果我调用设置状态则不能保证身份验证会在组件最初呈现之前设置为假状态。这里是新手开发者。我只是想知道为什么要使用这样的身份验证

我通过React 16中的
提供者
/
消费者
上下文API使用了一个
身份验证
状态

我最初在我的主
App
中将此属性的状态设置为
false
,然后对于任何受限制的组件(即需要验证的组件),我向后端进行查询,以检查客户端上的当前令牌是否有效

因此,当用户更改浏览器URL时,我希望
身份验证始终作为
false
被任何组件最初使用


如何在每次路由更改时重置身份验证?我正在收听
历史记录。收听
但是如果我调用
设置状态
则不能保证
身份验证
会在组件最初呈现之前设置为
状态。

这里是新手开发者。我只是想知道为什么要使用这样的身份验证逻辑。用例是什么?我只是尝试使用上下文API并在不使用redux的情况下设置自己的身份验证。好的,但我没有得到“更改路由部分”。为什么要在url更改中重置身份验证状态?如果我不这样做,并且假设他们已通过身份验证,那么即使他们的客户端令牌在服务器端实际上已过期,他们也可以访问某个页面。更不用说,如果他们在重定向到身份验证页面之前的一瞬间看到该页面,这将不是一个很好的用户体验。