reactjs - React - 如何从组件中拆分逻辑
问题描述
我有以下组件:
const App = () => {
const registerPushNotificationsToken = () => {
...
};
useEffect(() => {
registerPushNotificationsToken();
}, []);
return <></>
}
如何将函数和 useEffect 移动到其他文件?我应该使用钩子还是 HOC?
解决方案
Hooks 提供了 HOC 的替代方案,并且由于您已经在使用 react-hooks 和功能组件,如果它足够通用以用于多个组件,则最好实现自定义钩子。
您可以将上述逻辑提取到自定义钩子中,例如
const usePushNotification = () {}
const registerPushNotificationsToken = () => {
...
};
useEffect(() => {
registerPushNotificationsToken();
}, []);
}
export default usePushNotification;
发布此内容,您可以在任何组件中使用它,例如
const App = () => {
usePushNotification();
return <></>
}
推荐阅读
- java - 给定最终块在 AES 解密中未正确填充
- sql - using oracle regexp_replace to replace some part of a code
- list - 如何根据一组步骤重新排列列表?
- python - 如何用 matplotlib 绘制这样的图
- python - 将三个矩阵重整为一个
- php - 在 WooCommerce 中获取购物车项目变体名称而不是变体 ID
- airflow - 在 Composer 中将 airflow_local_settings.py 放在哪里?
- python - Nextflow:python脚本不保存输出
- powershell - Powershell - 如何搜索具有已知子项名称和值的散列注册表项
- mysql - 如何使用jpa将数据保存在链接表中