javascript - 在反应js中路由另一个页面时隐藏组件
问题描述
在主页内的反应项目中,我有一个通知组件,当我路由到另一个页面并再次访问主页时,我想隐藏通知组件。我怎样才能做到这一点?请就我该怎么做提出一些建议。
解决方案
您可以在具有所有页面路由的组件状态中操作通知的状态,例如:
const [needsNotification, setNeedsNotification] = useState('true');
<Switch>
<Route
path={'/home'}
render={<Home props={...props, needsNotification}} />
/>
<Route
path={'/another-page'}
render={<AnotherPage props={...props, setNeedsNotification} />}
/>
<Switch/>
在 AnotherPage 组件中,您props.setNeedsNotification(false)
在挂载时使用该函数,在主页中,您创建一个条件,即仅在needsNotification === true
.
推荐阅读
- node.js - elasticsearch js更新索引
- scala - Key-Value RDD:为什么相同的重复值元组?(斯卡拉)
- vue.js - 如何在 vue-router 中同时保护 '/login' 或 '/login/' 和 '/dashboard' 或 '/dashboard/'
- r - 当执行顺序很重要时,如何加快 for 循环?
- c++11 - 模板的模板特化
- python - 如何从 CVS 文件的数据列中删除最后一个字符?
- python - 使用 Python 读取具有给定结构定界的文本文件
- python - 我应该如何编写带有数字扩展名的函数?
- java - Spring kafka NonResponsiveConsumerEvent 甚至在代理关闭时触发时间
- r - 如何在R中的字符串之间找到相同的短语