{"_id":"@abdulghani/reduxcontext","_rev":"1-f700351e61cf0ba73e1e84dbd1bf80a5","name":"@abdulghani/reduxcontext","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@abdulghani/reduxcontext","version":"1.0.0","description":"lightweight redux context setup with provider, useSelector, useDispatch all setup.","main":"./build/index.js","scripts":{"build":"babel ./src --out-dir ./build","test":"echo \"Error: no test specified\" && exit 1"},"keywords":["redux","context","reducer","dispatch","provider","selector","hooks"],"author":{"name":"Abdul Ghani","url":"http://abdul-ghani.com/"},"license":"ISC","devDependencies":{"@babel/cli":"^7.7.7","@babel/core":"^7.7.7","@babel/preset-env":"^7.7.7","@babel/preset-react":"^7.7.4","babel-preset-minify":"^0.5.1"},"peerDependencies":{"react":"^16.12.0"},"_id":"@abdulghani/reduxcontext@1.0.0","_nodeVersion":"10.17.0","_npmVersion":"6.13.1","dist":{"integrity":"sha512-3wHae+IEPBwIZbTs1TGKx0IkU6ZLBCX5+LgW+UG14BZNxEKTVfj+sG74VRZ23hduguvQ+EwNu8jGysFTR7jFkQ==","shasum":"96cae36be0514eb10e1acba1dec94905030a5a14","tarball":"https://registry.npmjs.org/@abdulghani/reduxcontext/-/reduxcontext-1.0.0.tgz","fileCount":4,"unpackedSize":4313,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeFsZKCRA9TVsSAnZWagAAj5oP+wQjRfZbCkjXTmNWJdrh\nocl5w3TmFjpwabHCu36biFNxuA7F7nQg1tA5bo2qZC88IwYbBzUvQTqRM5zh\nZ/XvjTXWqvozv2fkdLF1uNy9KS8inVsnKeQzR4LbgkWox+VSoHcQJdxfZ3Vi\n+ttXRQC4qxatnQmwjB9iG+xRP9I/TwAKfVTdiFjLgSmLSQtomOUkPnDWoWQ7\nqwwCt9ye+ugUMTwqzxD2tJB7hSGtBLqGqNnQhJMIoo2uCd+OWOac4M3yEww7\nc9sCKmMbwMmy5mAYZk0agjcRHaTtUTVuBwwk4N6j4BKDKR1tQ9l/JolxHNFl\n/2w7/PIqdK7TyUJ3LySgtRfaSXcr+LOL80TBASLDe/Q3V1l1ZyJrWQ05M+yx\n54FuBRarXFYoOZ1k9mLkv380mwdbFXj8GWRw4RYOgr7BGek3cBkAkZfPBJ3G\ncy1Z2XlgEy57t9JOetdA3N3gxLpeMVBTO3uVVh1bVD5qdBj5Y1TNPV3QGKwQ\n0eHhiLMguAduSOcrwVcjQDg7XBPkhjX5kWThULd6waR5jt7/bc4lhmyURk2o\nZfHYtLtLwcbUE+Ugqd92+eVlFWkTVlF7dV9ssqhmmoKcoXQfovqOTG/gRXH8\nnXHQtqER7CZmS2l8wapVDctUTf/RTQ2H9C+AHWbOSae/sdiL2emLkpLkWT0/\nalPy\r\n=xv4m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCT9MHVcXxnnJK2ayKYF5DkQ16QkBXiZIAvK9p/zKHtyAIgDX1ajoQOi1fIHylmod+POYF0YWHOLJ0d+2rMJvH9Uuo="}]},"maintainers":[{"name":"abdulghani","email":"contact.abdulghani@gmail.com"}],"_npmUser":{"name":"abdulghani","email":"contact.abdulghani@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/reduxcontext_1.0.0_1578550857899_0.37115049666443967"},"_hasShrinkwrap":false}},"time":{"created":"2020-01-09T06:20:57.860Z","1.0.0":"2020-01-09T06:20:58.020Z","modified":"2022-04-04T10:58:36.105Z"},"maintainers":[{"name":"abdulghani","email":"contact.abdulghani@gmail.com"}],"description":"lightweight redux context setup with provider, useSelector, useDispatch all setup.","keywords":["redux","context","reducer","dispatch","provider","selector","hooks"],"author":{"name":"Abdul Ghani","url":"http://abdul-ghani.com/"},"license":"ISC","readme":"# Redux Context setup\r\nIn this project there's several component you could import to your project to use\r\n- AppContextProvider `default` `providing context to it's children and specify reducer to use`\r\n- useSelector `named` `function for selecting/get the state value from the context state`\r\n- useDispatch `named` `function for dispatching actions to your context's reducer`\r\n\r\n# Usage\r\nYou can use it this way\r\n\r\n```javascript\r\n  // import your deps\r\n  import AppContextProvider from \"@abdulghani/reduxcontext\";\r\n  import myReducer from \"somewhere\";\r\n\r\n  const App = () => {\r\n    return (\r\n      <AppContextProvider reducer={myReducer}>\r\n        <MyApp/>\r\n      </AppContextProvider>\r\n    )\r\n  }\r\n```\r\n\r\n\r\nAnd you can access the state from your component this way\r\n\r\n```javascript\r\n  // other imports\r\n  import {useSelector, useDispatch} from \"@abdulghani/reduxcontext\"\r\n\r\n  const MyView = () => {\r\n    const state = useSelector(state => state);\r\n    const dispatch = useDispatch();\r\n\r\n    useEffect(() => {\r\n      // do something in initial render\r\n      dispatch({ type: \"MY_ACTION\", data: \"SOME DATA\" });\r\n    }, [])\r\n  }\r\n```","readmeFilename":"README.md"}