- vừa được xem lúc

[React][React Signify] Quản lý Global State đơn giản nhất

0 0 7

Người đăng: Cat Developer

Theo Viblo Asia

👋 Lời mở

Xin chào mọi người, việc quản lý Global State luôn là chủ đề nóng khi làm việc với ReactJS, việc cấu hình và thiết lập môi trường có vẻ quá khó khăn cho người mới bắt đầu. Nếu bạn đang gặp vấn đề trên, thì bài viết này sẽ rất phù hợp với bạn.

Bài viết này sẽ giúp bạn biết thêm về thư viện React Signify, thư viện giúp ta quản lý Global State cực kỳ dễ dàng, rất phù hợp để bạn có thể thực thi nhanh chóng project cá nhân của mình.

Chuẩn bị môi trường ReactJS

Cài đặt ứng dụng ReactJS

npx create-react-app my-app
cd my-app

Cài đặt React Signify - công cụ quản lý Global State

npm i react-signify

Khởi tạo Global State trong 3 bước

Bước 1 : Khai báo global state

Cách khai báo rất đơn giản với 1 dòng code như sau

export const sCount = signify(0);

Bước 2 : Sử dụng giá trị

Cách sử dụng khá đơn giản bằng cách sử dụng hook use

const count = sCount.use();

Bước 3 : Thay đổi giá trị

Đầu tiên ta tạo 1 function đại diện xử lý thay đổi +1 giá trị

// Tạo function xử lý
const handleUp = () => { sCount.set((p) => (p.value += 1));
};

Tiếp theo, ứng dụng function này lên button của màn hình

<button onClick={handleUp}>UP</button>

Tổng quan code

Đây là kết quả khi áp dụng tất cả code trên vào component App.jsx

// App.jsx
import { signify } from "react-signify"; export const sCount = signify(0); // 1. Khởi tạo Global State export default function App() { const count = sCount.use(); // 2. Sử dụng Global State const handleUp = () => { sCount.set((p) => (p.value += 1)); // 3. Thay đổi giá trị Global State }; return ( <div> App {count} <button onClick={handleUp}>UP</button> </div> );
}

Tuyệt vời phải không 🤩, chỉ với 3 bước đơn giản, bạn đã thành công khi tạo ra Global State cho ứng dụng của mình rồi.

Sử dụng ở mọi nơi

Sau khi khởi tạo ở bước 2, nếu cần sử dụng sCount tại component khác, hãy tham khảo qua 2 bước sau

Bước 1 : import global state

import { sCount } from "./App";

Bước 2 : sử dụng

Ta vẫn dùng function use và sử dụng như bình thường

const count = sCount.use();

Tổng quan

Code sau khi thiết lập tại component info.jsx sẽ như sau

import { sCount } from "./App"; // 1. Tham chiếu sCount từ component App.jsx export default function Info() { const count = sCount.use(); // 2. Sử dụng giá trị của sCount return <div>Info {count}</div>;
}

Good work! Vậy là bạn đã thành công trong việc sử dụng Global State tại mọi Component mà bạn muốn rồi đấy 👍

Tổng kết

Với 5 bước, bạn đã có thể kiểm soát Global State rất đơn giản và dễ dàng phải không nào 😆 Nếu các bạn có thắc mắc hay cần support thêm về các kỹ thuật trên, hãy để lại comment bên dưới nhé.

Thông tin liên quan

Bình luận

Bài viết tương tự

- vừa được xem lúc

ReactJS: Props và State

Nếu bạn đã học ReactJS hay React Native, bạn sẽ thấy các Props và State được sử dụng rất nhiều. Vậy chính xác chúng là gì? Làm thế nào để chúng ta sử dụng chúng đúng mục đích đây.

0 0 59

- vừa được xem lúc

SwiftUI: phân biệt các property wrapper @State, @StateObject, @ObservedObject, @EnvironmentObject

I. Giới thiệu. Khi làm việc với SwiftUI, chúng ta sẽ phải thường xuyên làm việc với các loại property wrapper sau để chứa data:. .

0 0 50

- vừa được xem lúc

Hiểu hơn về React.js (1): Cách React Functional component xử lý props và state

React.js là một UI library khá nổi tiếng trong lập trình web, có hàng trăm hàng ngàn developer đang làm việc với React.

0 0 80

- vừa được xem lúc

Tìm hiểu về Redux Thunk

Chào mọi người, nếu bạn là người đã biết về React và đang làm quen với Redux chắc hẳn bạn đang rất mơ hồ về các khái niệm cơ bản của Redux như dispatch, store, action creator,... bạn còn đang vật lộn với đống document của Redux để hiểu những khái niệm đó và bạn nghe ai đó trong team nói về Redux Thu

0 0 399

- vừa được xem lúc

[React] Giới thiệu tổng quát về Redux Toolkit

1. Redux Toolkit (RTK) là gì và tại sao lại có nó. . .

0 0 6.6k

- vừa được xem lúc

Uống Pepsi code Vue đi - Uống Cocacola code React nha ;)

. (Nguồn ảnh: Internet). Chào các bạn, chào các bạn. Let's go . 1.

0 0 146