@allbin/with-config

src/config.ts:

Usage no npm install needed!

<script type="module">
  import allbinWithConfig from 'https://cdn.skypack.dev/@allbin/with-config';
</script>

README

@allbin/with-config

Example

src/config.ts:

interface ConfigType {
  [...]
}

export const default_config: ConfigType = {
  [...]
}

const ConfigContext = React.createContext<ConfigType>(default_config);
export default ConfigContext;

src/index.tsx:

import WithConfig from '@allbin/with-config';
import ConfigContext, { default_config } from './config';

[...]

ReactDOM.render(
  <WithConfig Context={ConfigContext} default_config={default_config}>
    <...>
  </WithConfig>
)

src/views/View.tsx:

import ConfigContext from '../config';


const View = React.FC = () => {
  const config = useContext(ConfigContext);

  [...]
}