reactjs - react context provider在渲染方法中抛出错误
问题描述
我正在试验反应上下文 API,这是我正在处理的代码:
import * as React from 'react';
interface ProviderState {
themeColor: string;
}
interface UpdateStateArg {
key: keyof ProviderState;
value: string;
}
interface ProviderStore {
state: ProviderState;
update: (arg: UpdateStateArg) => void;
}
const Context = React.createContext({} as ProviderStore);
class Provider extends React.Component<{}, ProviderState> {
readonly state = {
themeColor: 'red'
};
private update = ({ key, value }: UpdateStateArg) => {
this.setState({ [key]: value });
}
render() {
const store: ProviderStore = {
state: this.state,
update: this.update
};
return (
<Context.Provider value={store}>
{this.props.children}
</Context.Provider>
);
}
}
export { Provider };
渲染方法中的“提供者”引发以下错误:
"JSX element type 'ReactElement<any> | null' is not a constructor function for JSX elements.Type 'null' is not assignable to type 'ElementClass"
在反应声明文件中'Provider'已被声明,我认为它已被正确声明,或者我可能错了!
我正在使用以下版本:
react: "^16.5.0"
react-dom: "^16.5.0"
@types/react: "^16.4.7"
@types/react-dom: "^16.0.7"
解决方案
推荐阅读
- python - 具有自定义第一行的组中的行之间的差异
- google-cloud-platform - GCP Cloud Build 为每个 Cloud Function 部署发布单个事件
- c - 计算您的起床时间并打印出来的程序
- .net - 公共类中.Net Core 3.1中的会话变量
- sql-server - 为什么我收到 Microsoft SQL:Power BI 上的语法错误?
- vba - 循环遍历字符串数组
- python - Python 请求抓取图像以“data:image/”格式返回 src
- powershell - 如何通过为其运行powershell脚本为批处理文件中的变量赋值?
- javascript - 如何从两个数组创建一个迭代数组
- html - HTML 电子邮件在 Apple Mail 上没有响应