【发布时间】:2020-05-13 13:16:23
【问题描述】:
我有:
export interface AppStateType {
isOnline: boolean
}
const AppContext = createContext([{}, () => { }]);
const AppProvider = (props) => {
const [appState, setAppState] = useState<AppStateType>({
isOnline: true
})
return <AppContext.Provider value={[appState, setAppState]}>
{props.children}
</AppContext.Provider>
}
export { AppContext, AppProvider }
当我尝试使用它时:
const [appState, setAppState] = useContext<AppStateType>(AppContext)
我收到一个 Typescript 错误:
Argument of type 'Context<{}[]>' is not assignable to parameter of type 'Context<AppStateType>'.
The types of 'Provider.propTypes.value' are incompatible between these types.
Type 'Validator<{}[]>' is not assignable to type 'Validator<AppStateType>'.
Type '{}[]' is not assignable to type 'AppStateType'.
【问题讨论】:
-
This answer 可能会对您有所帮助 - 这是同一个星座。
标签: reactjs typescript react-hooks use-context