reactjs - 类型 '{ children?: ReactNode; 上不存在属性 'firebase' }' 如何正确注释?
问题描述
我通过像这样的高阶组件提供我的 firebase 对象:
const FirebaseContextInterfaceLocal: FirebaseContextInterface = {
value: new Firebase()
}
ReactDOM.render(
<Router history={history}>
<FirebaseContext.Provider value={FirebaseContextInterfaceLocal}>
<App />
</FirebaseContext.Provider>
</Router>,
document.getElementById('root')
)
之后我像这样使用它:
const ForgotPassword: React.FC = ({ firebase }) => {
}
export default withFirebase(ForgotPassword)
但我收到以下错误:
Property 'firebase' does not exist on type '{ children?: ReactNode; }'.
我试图找出如何正确注释它,但我找不到任何好的解释。任何帮助将不胜感激!
解决方案
使用value
密钥而不是 firebase
const ForgotPassword: React.FC = ({ value }) => {
}
export default withFirebase(ForgotPassword)
或尝试将属性更改FirebaseContextInterfaceLocal
为:
const FirebaseContextInterfaceLocal = {
firebase: new Firebase()
}
ReactDOM.render(
<Router history={history}>
<FirebaseContext.Provider firebase={FirebaseContextInterfaceLocal.firebase}>
<App />
</FirebaseContext.Provider>
</Router>,
document.getElementById('root')
)
所以你可以这样做:
const ForgotPassword: React.FC = ({ firebase }) => {
}
export default withFirebase(ForgotPassword)
推荐阅读
- dask - Dask +SLURM over ftp mount (CurlFtpFS)
- odbc - odbc.ini 中驱动程序路径中的环境变量
- rust - 生锈和借用中的字符串连接
- prolog - 为什么 `f(a)=a` 失败但 `f(X)=X` 在 prolog 中成功?
- apache-spark - PySpark 中字符串和空值比较的难以理解的结果
- sql - 将空值传递为零
- java - 通过 Wi-Fi 使用 TCP 将 Android 应用程序连接到 IoT 设备
- android - 如何将字符串的特定字符设置为文本视图而不是整个字符串?
- python - Python无法访问简单成绩程序中的全局变量
- python - Python def in if True 不返回