【发布时间】:2020-06-08 19:04:49
【问题描述】:
在我的带有 typescript 的 React 应用程序中,我想为组件创建一个上下文。 createContext 如果不提供默认值,则会显示错误。我要传递的值之一是setFilters,它是一个钩子调度程序。我应该如何提供默认值?
我不希望它是可选的,以防止 ! 被调用。
export interface ContextProps {
filters: FiltersType;
setFilters: React.Dispatch<React.SetStateAction<FiltersType>>;
}
export const MyContext = React.createContext<ContextProps>({
filters: defaultFilters, // imported from constants holder
setFilters: // <---- What should be here
});
const FiltersContext: React.FC<IProps> = (props: IProps) => {
const [filters, setFilters] = React.useState<FiltersType>(defaultFilters);
return <MyContext.Provider value={{ filters, setFilters }}>{props.children}</MyContext.Provider>;
};
export default FiltersContext;
【问题讨论】:
标签: reactjs typescript react-hooks react-context