reactjs - 如何从所有组件的 componentDidMount 调用函数
问题描述
我正在构建一个基于 ReactJS 的网站。如果它有所作为,我会使用钩子。
我正在为防伪令牌等编写一些安全代码。我想自动调用一个函数而不逐页实现它。
如何从所有组件的 componentDidMount 中调用函数?它有一个全球性的事件吗?
现在这样做是这样的;但是要遵循所有并实现这一点真的很复杂......
componentDidMount() {
token.Get();
}
解决方案
如果您使用 Hooks,则您使用的是函数组件,因此无法访问诸如componentDidMount
. 要触发安装和卸载的效果,您必须执行类似的操作
React.useEffect(() => token.Get(), [])
(https://reactjs.org/docs/hooks-effect.html#tip-optimizing-performance-by-skipping-effects)
要根据您的需要定义全局行为,您可以在根App.js
级别实现该行为。您也可以创建一个高阶组件来包装需要此行为的每个组件,但对于一行代码来说似乎有点过分了(https://reactjs.org/docs/higher-order-components.html)
推荐阅读
- react-native - 如何使用 react native 制作像真正的调用者一样的应用程序?
- angular5 - 从 Angular5 中的服务器获取数据
- sharepoint - powerapp:将应用内相机图片添加到附件
- amazon-redshift - S3 查询异常(获取)
- php - laravel 中的邮件验证
- python - 使用 os.walk 的递归列表
- katalon-studio - Katalon Studio 选择日期错误
- javascript - Angular - 在内部导航上通过 CDN 加载外部脚本
- mongodb - 在MongoDB中查询并根据一些规则更改价格值后对结果进行排序/
- python - Python 查找从其他表引用的 bin