如何解决React中的PrivateRoute导致材质UI弹出框的更改自动关闭
我正在尝试创建一个包含待办事项列表部分的项目。为此,我使用了一个材质用户界面弹出框,其中嵌套了一个材质用户界面列表组件。由于该应用程序的主页应受到保护,因此我也为此使用了一条私密路由。
以下是todo组件所需行为的一个示例: Demo
但是,在我的项目中,每当我选中或取消选中一个待办事项时,弹出窗口都会自动关闭。再次打开它时,可以看到在UI中进行了更改(例如,选中了该框,进行了文本删除),如您在项目的simplified version中所看到的。
我可以发现它必须与PrivateRoute组件一起使用,但是我不完全知道为什么。
当我这样重写代码时,todo组件将按预期工作:
render() {
return (
<BrowserRouter>
<Switch>
<Route
path="/"
exact
render={() => (
<Todos todos={this.state.todos} handleCheck={this.handleCheck} />
)}
/>
<Route path="/login" exact component={Login} />
</Switch>
</BrowserRouter>
)}
我不太确定这有什么区别,每种行为背后的原因是什么,真的会很感激您对此的想法!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。