UNPKG

@mongez/react-atom

Version:

A simple state management tool for React Js.

24 lines (23 loc) 991 B
'use strict';var jsxRuntime=require('react/jsx-runtime'),atom=require('@mongez/atom'),react=require('react');const AtomContext = react.createContext({}); /** * Get clone of the given atom key */ function useAtom(key) { const context = react.useContext(AtomContext); return context[key]; } function AtomProvider({ register = atom.atomsList(), defaultValue, children, }) { const [currentAtoms] = react.useState(() => { const atoms = {}; for (const atom of register) { const newAtom = atom.clone(); atoms[atom.key] = newAtom; if (defaultValue?.[atom.key]) { newAtom.silentUpdate(defaultValue[atom.key]); } } return atoms; }); console.log(currentAtoms); return (jsxRuntime.jsx(AtomContext.Provider, { value: currentAtoms, children: children })); }exports.AtomContext=AtomContext;exports.AtomProvider=AtomProvider;exports.useAtom=useAtom;//# sourceMappingURL=context.js.map