Effortless State Management in React with Arek

In the evolving landscape of React development, managing the state of an application efficiently is a crucial task. The open-source library Arek emerges as a game changer by simplifying state management in React applications. With its foundation laid on the Redux pattern, Arek provides a rich set of APIs and tools, and extends its support to TypeScript, making it a robust choice for developers.

Let's delve into some examples to understand how Arek can be utilized:

Simple Usage

import { useState } from "arek";

const App = () => {
  const [count, setCount] = useState(0);

  return (
    <div>
      <h1>Hello, world!</h1>
      <p>
        <button onClick={() => setCount(count + 1)}>+1</button>
        <p>
          count: {count}
        </p>
      </p>
    </div>
  );
};

Advanced Usage

import { useState, useReducer } from "arek";

const App = () => {
  const [count, setCount] = useState(0);
  const reducer = (state, action) => {
    switch (action.type) {
      case "increment":
        return state + 1;
      case "decrement":
        return state - 1;
      default:
        return state;
    }
  };

  const [isLoading, setIsLoading] = useState(false);
  const [todos, dispatch] = useReducer(reducer, { count: 0 });

  return (
    <div>
      <h1>Hello, world!</h1>
      <p>
        <button onClick={() => dispatch({ type: "increment" })}>+1</button>
        <p>
          count: {count}
        </p>
      </p>
      <p>
        <button onClick={() => setIsLoading(true)}>Loading</button>
        <p>
          isLoading: {isLoading}
        </p>
      </p>
      <ul>
        {todos.map((todo) => (
          <li key={todo.id}>{todo.text}</li>
        ))}
      </ul>
    </div>
  );
};

Additional Examples

Using useSelector to Obtain State
import { useSelector } from "arek";

const App = () => {
  const count = useSelector((state) => state.count);

  return (
    <div>
      <h1>Hello, world!</h1>
      <p>
        count: {count}
      </p>
    </div>
  );
};
Using useEffect to Monitor State Changes
import { useEffect } from "arek";

const App = () => {
  const [count, setCount] = useState(0);

  useEffect(() => {
    // Monitoring count changes
  }, [count]);

  return (
    <div>
      <h1>Hello, world!</h1>
      <p>
        count: {count}
      </p>
    </div>
  );
};
Using useContext to Share State
import { createContext, useContext } from "arek";

const AppContext = createContext();

const App = () => {
  const value = { /* ... */ };
  return (
    <AppContext.Provider value={value}>
      {/* ... */}
    </AppContext.Provider>
  );
};

Getting Started

  1. Install arek.
  2. Import arek in your React project.
  3. Utilize useState or useReducer to create a state management system.

Additional Information

  • Arek is meticulously crafted using TypeScript.
  • It can be effortlessly installed via npm.

In conclusion, Arek stands as a highly practical React state management library, aiding developers in swiftly constructing state management systems within React applications, with a user-friendly approach.