我有这个钩子,用来从useContext
使用Firebase.js
import React, { useContext } from 'react';
export const FirebaseContext = React.createContext(null);
function useFirebase(): firebase.app.App {
const firebase = useContext(FirebaseContext);
return firebase;
}
export default useFirebase;
这是上下文提供者:
应用程序.js
import { FirebaseContext } from '@hooks/useFirebase';
function App() {
return(
<FirebaseContext.Provider value={props.firebase}>
// The app
</FirebaseContext.Provider>
);
}
然后我通过执行以下操作访问整个应用程序:
一些组件.ts
const firebase = useFirebase();
问题
在useFirebase.ts
文件中,我null
在React.createContext(null)
我怎样才能摆脱这种冲突?
注: props.firebase
类型为firebase.app.App
我通常会打电话createContext
,null
这就是 Typescript 抱怨的原因。
下面的代码似乎可以解决问题,但我不想用{}
null 代替。
export const FirebaseContext = React.createContext({} as firebase.app.App);