javascript - ReactJs中的路由,点击链接后移除/卸载父组件
问题描述
我对 ReactJS 很陌生。我正在尝试向页面添加一个新链接,当我单击它时,它应该将它带到一个单独的页面,并且应该取消安装父组件。我正在使用 React Hooks。因此,当我使用路由时,它会正确路由到新组件,但不会取消渲染前一个组件
代码
const GetCustomers = (props) => {
useEffect(() =>{ do something...});
return (
<>
<ErrorBoundary>
<Router>
<>
<Link to="/EditCustomer">Edit Customer</Link>
<Route component={EditCustomer} path="/EditCustomer" />
</>
</Router>
</ErrorBoundary>
<Customer> Do alot </Customer>
</>
)
};
export default GetCustomers;
EditCustomers 的代码
const EditCustomers= (props) => {
useEffect(() =>{ do something...});
return (
<>
<div> Hello </div>
</>
)
};
所以我点击编辑客户,它会编辑客户并向我显示你好,但它也一直显示客户组件的数据。如何将其移动到较新的组件渲染并卸载 GetCustomers html
解决方案
更新了这种情况,因为客户组件不在内部,因此它将始终安装,您也应该为客户组件使用路由,这是我刚刚制作的一个示例,它可能会对您有所帮助https://codesandbox.io/s/youthful -aryabhata-o1g2g?file=/src/App.js
推荐阅读
- python - 使用 Sphinx 和 KivyMD 创建文档时出错
- react-native - 未定义不是对象错误(评估“dashboardModel.categories.map”)
- swift - 我想不仅在“do catch”中使用“shop”,怎么办?
- laravel - id 必须包含 [1,2,3] 的 Laravel
- c - 如何迭代链表(c)
- ruby-on-rails - 如何在管理中设置 ActionText (Rails 6.1)
- javascript - 按钮内的 SPINNER 正在旋转,表单输入字段内没有任何内容
- python - 如何在pygame的同一屏幕上显示两个不同的动画
- itfoxtec-identity-saml2 - Saml2ClaimTypes 为 NameId、NameIdFormat、SessionIndex 硬编码
- typescript - 在扩展中使用导入函数时 Vscode 出错