自定义hooks-逻辑复用-封装useEffect和useSelector

页面加载发请求拿数据存到redux中-再拿回来渲染页面

  1. 导入用到的包
  2. 将相同的逻辑,直接封装到 useInitState 函数中
  3. 将不同的地方,作为 useInitState 函数的参数
  4. 将拿到的状态作为 useInitState 函数的返回值
// 逻辑复用--页面加载发请求存到redux中-拿回来渲染
import { RootState } from '@/types/store'
import { useEffect } from 'react'
import { useDispatch, useSelector } from 'react-redux'

// actionName是调用执行dispatch里面的函数,stateNames是拿的值的名字
// 添加类型约束<StateName extends keyof RootState>继承RootState的key
export default function useInitState<StateName extends keyof RootState> (
  actionName: () => void,
  stateNames: StateName
) {
  const dispatch = useDispatch()
  // 通过dispatch调用action里面的对应函数纯到redux里面
  useEffect(() => {
    dispatch(actionName())
  }, [])
  // useSelector在redux里拿stateNames数据
  const state = useSelector((state: RootState) => state[stateNames])

  return state
}

使用:

  const { user } = useInitState(getUser, 'profile')

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: pyinstaller-hooks-contrib是一个用于PyInstaller的插件集合,它提供了一些额外的钩子和工具,可以帮助PyInstaller打包Python应用程序时更好地处理第三方库和依赖项。这个插件集合可以让开发者更轻松地打包和分发他们的Python应用程序。 ### 回答2: pyinstaller-hooks-contrib是一个库,它包含了许多用于PyInstaller的钩子,用于识别和处理不同的Python包和模块。 在PyInstaller,钩子是指特定的脚本,它可以识别和处理Python程序额外的依赖关系,以便正确地构建可执行文件。通常情况下,PyInstaller的核心程序只能处理Python的标准库和一些常见的第三方库,但是许多Python程序通常使用许多其他库和模块,这些库和模块需要通过钩子来处理。 pyinstaller-hooks-contrib库的钩子可以帮助PyInstaller自动处理各种不同类型的Python模块和包。这些钩子的作用包括: 1.添加Python模块到可执行文件 2.处理特定的Python模块依赖库 3.处理模块内的资源文件 4.添加额外的数据文件到可执行文件 5.处理特定Python模块的数据文件 钩子的使用很简单,只需要将钩子文件放置在Helper Scripts目录下即可,PyInstaller将自动识别并在其构建过程使用这些钩子。但是,需要注意的是,当钩子的更新或版本升级时,需要手动更新PyInstaller,并且可能需要更新钩子文件以适应更改。 总之,pyinstaller-hooks-contrib是一个非常有用的库,它使得PyInstaller可以轻松地处理各种不同类型的Python模块和包,以便将其转换为可执行文件。 ### 回答3: pyinstaller-hooks-contrib 是 PyInstaller 的一个插件,它可以帮助开发者在使用 PyInstaller 打包 Python 项目时,更高效地处理项目的非 Python 文件。 在项目,除了 .py 文件以外,我们还经常需要使用其它类型的文件,如图标、资源文件、配置文件等。这些文件的处理可能会影响到项目在不同平台上的可移植性和运行情况。 pyinstaller-hooks-contrib 可以让开发者方便地将这些文件打包进可执行文件,并保持它们的相对路径关系。此外,该插件还提供了一些常用的钩子(hook)和文件类型处理器,使得开发者无需再手动指定这些需要打包的文件和其所需的依赖库。 例如,该插件提供了 win-icon 补丁,使得在 Windows 平台上为可执行文件添加图标更为简便。同时,该插件还支持打包 PyQt5 和 PySide2 等 GUI 库所需要的资源文件,避免了因打包不当而导致软件界面出现异常的问题。 总之,pyinstaller-hooks-contrib 为 Python 开发者提供了一系列方便实用的工具,能够让开发者更高效地进行跨平台软件开发和打包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值