首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从外部文件React Typescript定义useSelector类型

在React TypeScript中,可以使用useSelector钩子函数来获取Redux store中的状态。useSelector需要定义一个类型,以便在使用时推断返回的状态类型。

以下是一种从外部文件定义useSelector类型的方式:

  1. 首先,在一个单独的文件(例如types.d.ts)中创建一个类型声明文件:
代码语言:txt
复制
import { RootState } from './path/to/redux/rootReducer';

export type RootStateType = typeof RootState;

上述代码中,我们通过导入RootState来获取Redux store的根状态类型,并通过typeof操作符获取其类型。

  1. 然后,在使用useSelector的地方,可以使用刚刚定义的类型:
代码语言:txt
复制
import { useSelector } from 'react-redux';
import { RootStateType } from './path/to/types.d';

const selectedData = useSelector((state: RootStateType) => state.data);

上述代码中,我们将RootStateType作为useSelector的类型参数,并将其作为状态选择器函数的参数类型。这样,TypeScript 就能够正确地推断出返回的selectedData的类型。

这里简单解释一下上述代码中的各个部分:

  • useSelectorreact-redux提供的一个钩子函数,用于从 Redux store 中选择状态。
  • state: RootStateType 是状态选择器函数的参数类型,指定了 Redux store 的根状态类型。
  • state.data 是选择的状态的示例,你可以根据实际情况替换为你想要选择的状态。

总结一下,从外部文件 React TypeScript 定义 useSelector 类型的步骤如下:

  1. 创建一个类型声明文件,并定义根状态类型。
  2. 在使用 useSelector 的地方,使用刚刚定义的类型作为类型参数,并在状态选择器函数中使用这个类型来推断返回的状态类型。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Redux + Hooks 工程实践

    “都 1202 年了怎么还有人在用 Redux”——这大概不少人看到这篇文章的第一反应。首先先表明一下,这篇文章并不讨论是不是应该使用 Redux,这是一个比较大的话题,应该单独水一篇。而且社区已经存在许许多多的讨论了,你总能从几篇高赞的文章中找到一些优缺点的对比图,然后结合你项目的场景最终作出决定。我们来随便举几个团队使用 Redux 的原因。首先是易懂,Redux 被人吐槽很多的可能是写法繁琐,但是在繁琐写法的背后就没有那么多黑科技了,非常容易排查问题。另外,Redux 本质是对逻辑处理方式提出了标准范式,并且搭配得给到了一组实践规范,有助于保持项目代码书写风格与组织方式的一致性,这点在多人合作开发的项目里面尤为重要。其他的优点就不在此赘述啦。

    01
    领券