【发布时间】:2021-03-29 22:08:37
【问题描述】:
我有私人路线。当用户未登录或未验证电子邮件时,重定向到带有警告的模式登录。它由函数 show modal 运行,但出现错误。 这是工作,通过它在开发中显示这个错误。 在产品中,我没有收到此错误。
警告:
index.js:1 警告:渲染时无法更新组件 (
App) 一个不同的组件 (Context.Consumer)。定位不良 setState() 在Context.Consumer中调用,按照堆栈跟踪为 描述于 在路线中(在 PrivateRoute.js:13) 在 PrivateRoute (在 App.js:217) 在 Switch 中(在 App.js:196 处) 在路由器中(由 BrowserRouter 创建) 在 BrowserRouter (在 App.js:140) 在 div 中(在 App.js:139 处) 在应用程序中(在 src/index.js:11) 在提供者中(在 src/index.js:10)
代码:
<Route
{...rest}
render={(props) =>
(user && user.providerId && user.providerId !== 'password') ||
(user &&
user.providerId &&
user.providerId === 'password' &&
user.emailVerified) ? (
<Component {...props} />
) : (
<Redirect to="/">{setLoginModalShow(true)}</Redirect>
)
}
/>
我应该怎么做 请帮忙
【问题讨论】:
标签: reactjs redirect react-router