1.1.28 • Published 1 year ago

@danielkhakbaz/use-shared v1.1.28

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

Installation

To install the use-shared package in your React project, use npm or yarn:

npm install use-shared
yarn add use-shared

Usage

- Import SharedProvider

Begin by importing the SharedProvider component from the use-shared package:

import { SharedProvider } from "@danielkhakbaz/use-shared";

- Wrap Your App with SharedProvider

Wrap your React application's root component with the SharedProvider component. Pass an initial state object as a prop to the SharedProvider. This state object will be accessible throughout your entire application:

const state = {
  name: "Danial",
  lastName: "Khakbaz",
  profession: "Front-end Engineer",
};

ReactDOM.createRoot(document.getElementById("root")).render(
  <React.StrictMode>
    <SharedProvider state={state}>
      <App />
    </SharedProvider>
  </React.StrictMode>
);

In any component within your application, import the useShared hook from use-shared to access the shared state provided by the SharedProvider:

import { useShared } from "@danielkhakbaz/use-shared";

const App = () => {
  const { data, dispatch } = useShared();

  return (
    <div>{/* Access and modify shared state using data and dispatch */}</div>
  );
};

data: This object represents the current state from the SharedProvider. dispatch: This function allows you to update the shared state.

- Complete Example

  • main.jsx
import React from "react";
import ReactDOM from "react-dom/client";
import App from "./App";
import { SharedProvider } from "@danielkhakbaz/use-shared";

const state = {
  name: "Danial",
  lastName: "Khakbaz",
  profession: "Front-end Engineer",
};

ReactDOM.createRoot(document.getElementById("root")).render(
  <React.StrictMode>
    <SharedProvider state={state}>
      <App />
    </SharedProvider>
  </React.StrictMode>
);
  • App.jsx
import { useShared } from "@danielkhakbaz/use-shared";

const App = () => {
  const { data, dispatch } = useShared();

  const handleClick = () => {
    dispatch({ ...data, profession: "Software Engineer" });
  };

  return (
    <div>
      <p>Name: {data.name}</p>
      <p>Last Name: {data.lastName}</p>
      <p>Profession: {data.profession}</p>
      <button onClick={handleClick}>Change Profession</button>
    </div>
  );
};

export default App;

License

MIT


danieloo.com  ·  > Danial Khakbaz  ·  > @danielkhakbaz  · 

1.1.28

1 year ago

1.1.12

1 year ago

1.1.16

1 year ago

1.1.15

1 year ago

1.1.14

1 year ago

1.1.13

1 year ago

1.1.19

1 year ago

1.1.18

1 year ago

1.1.17

1 year ago

1.1.23

1 year ago

1.1.22

1 year ago

1.1.21

1 year ago

1.1.20

1 year ago

1.1.27

1 year ago

1.1.26

1 year ago

1.1.25

1 year ago

1.1.24

1 year ago

1.1.1

1 year ago

1.1.9

1 year ago

1.1.8

1 year ago

1.1.7

1 year ago

1.1.6

1 year ago

1.1.5

1 year ago

1.1.4

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.1.11

1 year ago

1.1.10

1 year ago

1.1.0

1 year ago

1.0.8

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago