Giải pháp cuối cùng để quản lý trạng thái React - Không quản lý

Apr 09 2022
Các nhà phát triển thường nghĩ rằng trạng thái là một phần của một thành phần, nhưng đồng thời họ cũng liên tục xây dựng các bánh xe trên trạng thái tước bỏ. Không phải là rất mâu thuẫn sao? Đối với thành phần văn bản đơn giản nhất : Bạn có nghĩ rằng văn bản nên được loại bỏ khỏi thành phần Văn bản không? Nếu trực giác của bạn cho bạn biết bạn không nên làm vậy, tại sao lại sử dụng redux, mobx, jotai và một loạt các thư viện quản lý trạng thái kỳ lạ khác để làm phức tạp mã của chúng ta? Vậy tại sao? Vấn đề của riêng React !!! Bởi vì React đưa ra định nghĩa kép về trạng thái thành phần: Trạng thái hướng nội và đạo cụ mở.

Các nhà phát triển thường nghĩ rằng trạng thái là một phần của một thành phần, nhưng đồng thời họ cũng liên tục xây dựng các bánh xe trên trạng thái tước bỏ. Không phải là rất mâu thuẫn sao?

Đối với thành phần văn bản đơn giản nhất :

Bạn có nghĩ rằng văn bản nên được loại bỏ khỏi thành phần Văn bản? Nếu trực giác của bạn cho bạn biết bạn không nên làm vậy, tại sao lại sử dụng redux, mobx, jotai và một loạt các thư viện quản lý trạng thái kỳ lạ khác để làm phức tạp mã của chúng ta?

Vậy tại sao?

Vấn đề của riêng React !!!

Bởi vì React đưa ra định nghĩa kép về trạng thái thành phần: Trạng thái hướng nội và đạo cụ mở. Đồng thời, do những hạn chế của jsx, giao tiếp thành phần chỉ có thể dựa vào đạo cụ.

Một số người sẽ nói rằng có một ngữ cảnh, nhưng nếu bạn thêm một lớp cung cấp riêng cho giao tiếp thành phần, khi ứng dụng mở rộng, trạng thái của bạn sẽ được chia theo cấu trúc xml và cuối cùng chỉ còn lại viên thuốc độc của cửa hàng.

Do những sai sót cố hữu của React trong việc đồng bộ hóa trạng thái, nên việc quản lý trạng thái được phát triển trong cộng đồng React, điều này thực sự là bệnh hoạn.

Sự thịnh vượng bệnh hoạn của hệ sinh thái quản lý nhà nước đã khiến toàn bộ hệ sinh thái React trở nên hỗn loạn.

Chi phí tích hợp tiềm ẩn giữa các thư viện quản lý nhà nước khác nhau và các thư viện thành phần được xây dựng xung quanh các quản lý nhà nước này cần phải xem xét tích hợp. Hãy nhìn vào Route5, tôi nghĩ rằng giải pháp tích hợp React và Redux của trang web chính thức là không đủ, sau tất cả, có một số thư viện khác được sử dụng rộng rãi.

Theo quan điểm của bản thân React, miễn là hai vấn đề được giải quyết, thì không có cái gọi là quản lý nhà nước.

thông tin liên lạc nội bộ thành phần

Cấu trúc thành phần trong jsx không có gì nhiều hơn hai loại, bao gồm và song song. Đối với cấu trúc bao gồm lồng ghép, một cửa hàng duy nhất là khả thi và giải pháp duy nhất cần giải quyết là làm thế nào để chia sẻ và đồng bộ hóa trạng thái giữa các đoạn jsx bên trong.

Trên thực tế, nó rất đơn giản, chỉ cần ràng buộc một ngữ cảnh chung vào các đoạn jsx này.

Một thành phần có thể chia bất kỳ đoạn jsx nào vào dạng xem, đồng thời quản lý trạng thái trong initState và để this.state của hàm kết xuất trỏ tới initState trong thời gian chạy. Tất nhiên, có một số ma thuật bên trong, mà không được đề cập đến.

Tất nhiên, nếu các thành phần lớn, chúng phải được cắt song song, nếu không chúng sẽ gặp phải các vấn đề về hiệu suất và bảo trì. Làm thế nào để làm cho các thành phần song song chia sẻ và đồng bộ hóa trạng thái với nhau?

Thật đơn giản, miễn là các cá thể của mỗi thành phần nhận thức được nhau về điều này, thì việc thao tác và chia sẻ trạng thái sẽ không khó.

Bằng cách này, không cần phải lo lắng về giao tiếp cho các thành phần song song trong jsx. Dù có vượt qua bao nhiêu tầng lớp, cuối cùng anh cũng sẽ tìm thấy em.

Vậy để giải quyết hai vấn đề này có cần thêm sự quản lý của nhà nước?

Ít nhất theo tôi, quản lý nhà nước là một mệnh đề sai lầm. Bản thân các thành phần và trạng thái là những bộ phận không thể tách rời. Coi nhà nước là cốt lõi của các thành phần, chỉ cần giải quyết được vấn đề của các thành phần thì quản lý nhà nước đương nhiên sẽ không thành vấn đề.

Cảm ơn đã đọc, hẹn gặp lại lần sau

© Copyright 2021 - 2023 | vngogo.com | All Rights Reserved