Version: 0.2.0
Last Updated: Unknown
Use this tempalate to used to generate a basic context hook that throws errors without providers being used.
| Variable | Data Type | Info |
|---|---|---|
name | string | Context provider name |
1import * as React from "react";23interface <%= _.upperFirst(_.camelCase(name)) %> {4 counter: number;5}6const <%= _.upperFirst(_.camelCase(name)) %>Context = React.createContext<<%= _.upperFirst(_.camelCase(name)) %> | undefined>(undefined);78interface <%= _.upperFirst(_.camelCase(name)) %>ProviderProps {9 value: <%= _.upperFirst(_.camelCase(name)) %>;10}1112/**13 * @param {<%= _.upperFirst(_.camelCase(name)) %>ProviderProps} props Props to pass to provider14 * @param {<%= _.upperFirst(_.camelCase(name)) %>} props.value Initial state for context15 * @returns {React.ReactElement} Context Provider16 */17export function <%= _.upperFirst(_.camelCase(name)) %>Provider({ value, ...props }: <%= _.upperFirst(_.camelCase(name)) %>ProviderProps) {18 return <<%= _.upperFirst(_.camelCase(name)) %>Context.Provider value={value} {...props} />;19}2021/**22 * Hook to access state23 *24 * @returns {<%= _.upperFirst(_.camelCase(name)) %>} hook to access state and dispatch25 */26export function use<%= _.upperFirst(_.camelCase(name)) %>(): <%= _.upperFirst(_.camelCase(name)) %> {27 const context = React.useContext(<%= _.upperFirst(_.camelCase(name)) %>Context);2829 if (!context) {30 throw new Error(`use<%= _.upperFirst(_.camelCase(name)) %> must be rendered within the <%= _.upperFirst(_.camelCase(name)) %>Provider`);31 }3233 return context;34}