Catalog npm
Back to packageRELEASE DETAILS

0.0.17

npm

0i0

use redux like api, but achieve context like api nested in component

Published20 Oct 2020
Direct dependencies4
Transitive dependenciesNot calculated

README

Current package documentation

0i0

use redux like api, but achieve context like api nested in component

demo

https://codesandbox.io/s/0i0-yq1n3

how to use

install

yarn add 0i0

it need a root just like Context

import React, { useState } from "react";
import Num1 from "./num1";
import Num2 from "./num2";
import { Provider } from "0i0";

export default function App() {
  const [num1, setNum1] = useState(0);
  const [num2, setNum2] = useState(0);
  return (
    <Provider
      value={{
        num1,
        setNum1,
        num2,
        setNum2
      }}
    >
      <Num1 />
      <Num2 />
    </Provider>
  );
}

Select state in fuction component:

import React, { memo } from "react";
import { useSelector } from "0i0";

function Num2() {
  console.log("i am rendering");
  const num2 = useSelector((state) => state.num2);
  const setNum2 = useSelector((state) => state.setNum2);
  return (
    <div>
      {num2}
      <button onClick={() => setNum2((num) => num + 1)}>num2 add one</button>
    </div>
  );
}

export default memo(Num2);

select state in class component:

import React, { memo } from "react";
import { connect } from "0i0";

class Num1 extends React.Component {
  render() {
    console.log("i am rendering");
    const { num1, setNum1 } = this.props;
    return (
      <div>
        {num1}
        <button onClick={() => setNum1((num) => num + 1)}>
          {" "}
          num1 add one{" "}
        </button>
      </div>
    );
  }
}

export default memo(connect(({ num1, setNum1 }) => ({ num1, setNum1 }))(Num1));

todo

  • test case
  • CICD
  • Fix Cannot update a component problem

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 4

Native requirements
4 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
react
Environment
{
  "local_name": "react",
  "alias": false,
  "peer_metadata": null
}
^16.13.1runtime
zustand
Environment
{
  "local_name": "zustand",
  "alias": false,
  "peer_metadata": null
}
^3.1.3runtime
@types/react
Environment
{
  "local_name": "@types/react",
  "alias": false,
  "peer_metadata": null
}
^16.9.53development
typescript
Environment
{
  "local_name": "typescript",
  "alias": false,
  "peer_metadata": null
}
^4.0.3development

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "integrity": "sha512-+43GsupdceT2uTMvlufvXtykTRKCRg1rSM3wPN6kBLmBphv2MJuUNR19guxDL2OJySFefc+5cFr5xmhPNBleZA==",
  "shasum": "24bbd1f75d89e6abc8deb7741272fa1bb388ea15",
  "tarball": "https://registry.npmjs.org/0i0/-/0i0-0.0.17.tgz",
  "fileCount": 7,
  "unpackedSize": 9739,
  "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfjo05CRA9TVsSAnZWagAAl0IP/jt6mw1QE7ZLKV4CiCTN\nYmVdlO6EsFpYgw/zPHlDVByxltSAXArI+7U2qF0pOOrA7bKvoTMcB/JArb3l\nThHR3WJTAza9lOAhSnjpsV4Ihq2zM1NWnYxW8/gIC3Q1ifXtnuxILIOH0K+W\nnL2SDyXLixwJxAsCeNgdUbxxkO4LzPCd2LlWZDgo1MnAu3qbdNuLRpRAoZjl\nnwlxMj0sG58Ed1mXMc210HoEa2TGRkTiG/bPMq/lqo3ihQfu7clRZSPXWdTv\nPVoNG5n2z5v/AGFSGFfMzK0ExQHIl3MGFPJJMiDoAZx+iSPsNsQqLN38bxyB\nhpXKVuiJNzHnTZcyHqobYBPYjnrxyjWnePv75lhN6aRaNmX7QpSE3WuHzgGd\nNAqHF6sn1YWOTA226ba+VdxnD1QGLCyPe/y0TTCNtrUoRoilIk+5zPb0QyDi\nIPG9Y+tql2Cf1CyIRaiYYlq3ykeL/TUcinojDaMtEnK9j2EXHXlHV+352b5i\n+xBNSuXtQiDP4usb45ljZAMfV62aFIkxYLa/SmrBePW0gDeEXW3K4TC4O4sk\n1vuuQJCR3aKx8uAiSvSH1Vbw6+338kA47eJznWIUQn4KUH2zv/8FopD0wQzX\nddRDD+WSMljtc8Puvb13HRmt0dbC55nerplXPDbTtyNxRxpiH3thbu+kQNdl\n75z5\r\n=vh2g\r\n-----END PGP SIGNATURE-----\r\n",
  "signatures": [
    {
      "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
      "sig": "MEQCICEr+Bd9RNe58w9VESUbsyEMcYrJONYZsCql1/BujxR1AiA0Ze5iNr3zJ4ceQwk33XdhfoEHgS6/5W+mXiLWGNdo7Q=="
    }
  ]
}

Repository

PENDING
edgewalkerr/0_0

Shared repository data · GitHub

License detected in repository
Not collected

Repository

PENDING
edgewalkerr/0i0

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 17:41 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:5e7535bc73cc6bef7584b2a2f70efdd67ce2eb968752a6c4f07b3252cda617b8

Other collected versions

0.0.315 Mar0.0.305 Mar0.0.2921 Dec0.0.2821 Dec0.0.271 Nov0.0.261 NovView all collected versions →