Mar*_*ahl 8 typescript reactjs redux react-redux react-hooks
当尝试使用 react-redux 打字稿的新 useSelector 钩子(见下面的例子)时,会出现该函数不存在的错误:
Module '"../../../node_modules/@types/react-redux"' has no exported member 'useSelector'. TS2305
Run Code Online (Sandbox Code Playgroud)
示例:
import * as React from "react"
import { useSelector } from "react-redux"
import { Message } from "./Message"
export const MessageContainer = () => {
const searchValue = useSelector((state) => state.search)
return (
<Message searchValue={searchValue} />
)
}
Run Code Online (Sandbox Code Playgroud)
使用的版本: “react-redux”:“^7.1.0-alpha.5”“@types/react-redux”:“^7.0.9”
小智 0
下面的代码取自 redux 文档本身,有关 typescript
typescript redux 官方
interface RootState {
isOn: boolean
}
// TS infers type: (state: RootState) => boolean
const selectIsOn = (state: RootState) => state.isOn
// TS infers `isOn` is boolean
const isOn = useSelector(selectIsOn)
Run Code Online (Sandbox Code Playgroud)
正如稍后添加钩子之前所说,但是如果您使用钩子,最好像这样编写选择器