Helpex - Trao đổi & giúp đỡ Đăng nhập
5

Tôi đang làm việc trên một ứng dụng web phản ứng và hoặc công ty đã mua một bảng điều khiển bảng điều khiển dành cho quản trị viên để tiết kiệm thời gian. Trong bảng điều khiển này, họ đã sử dụng redux để xử lý các trạng thái và tất cả các thông số cài đặt được lưu trữ vào redux ...

Nhưng tôi thực sự bối rối khi sử dụng readux cho từng trường hợp sử dụng!

Tất cả các yêu cầu và trạng thái của tôi là cơ sở thành phần và không phải là toàn cầu và những yêu cầu đó không cần thiết để sử dụng trong các thành phần khác của ứng dụng này!

Ví dụ để tải danh sách trò chơi, tôi có mã này:

componentDidMount() {
    this.setState({
      loading: true
    });
    http._GET('/game/getAllGames')
    .then(response => {
      this.setState({
        loading: false
      });
      this.props.dispatch(gamesListAction(response.data.result.games));
    });
  }
Mở rộng đoạn mã

Trong trường hợp này, tôi chỉ sử dụng phản hồi và danh sách vào trang danh sách trò chơi. Vì vậy, tôi nghĩ không hợp lý khi tôi lưu trữ dữ liệu response.data vào redux và sau đó lấy tất cả dữ liệu bằng kết nối và quy trình khác ....

Hoặc ví dụ khác, để chèn biểu mẫu, tôi sẽ không bao giờ cần lưu trữ biểu mẫu chèn hoặc phản hồi API, vì nó chèn và không lấy dữ liệu từ API!

Tôi đã đọc về redux nhưng tôi nghĩ redux không phù hợp với mọi ứng dụng và trường hợp sử dụng và tôi không nên lưu trữ các phản hồi sử dụng một lần cho redux.

Bạn nghĩ thế nào về vấn đề này?

Cảm ơn

5 hữu ích 1 bình luận 1.9k xem chia sẻ
1

Câu hỏi thường gặp về reduxjs mô tả nó tốt nhất.

Nói chung, hãy sử dụng Redux khi bạn có lượng dữ liệu hợp lý thay đổi theo thời gian, bạn cần một nguồn sự thật duy nhất và bạn thấy rằng các phương pháp như giữ mọi thứ ở trạng thái của thành phần React cấp cao nhất không còn đủ nữa.

Redux không là gì ngoài một công cụ quản lý nhà nước và bạn cần thêm lý do thuyết phục để sử dụng nó: Trong trường hợp của bạn, trước tiên:

  • SetState của React sẽ phình to thành phần theo thời gian với các yêu cầu ngày càng tăng và khó duy trì hơn nhiều. Tách phần quản lý nhà nước thành một bộ tái cấu trúc giảm thiểu một cách độc đáo và làm cho nó dễ đọc hơn.
  • Trạng thái thành phần bộ nhớ đệm , ví dụ: nếu bạn đang sử dụng giỏ hàng, trình hướng dẫn lũy tiến. Có rất nhiều điều phải làm trong tương tác của người dùng dẫn đến thay đổi trạng thái, trong những trường hợp như vậy. Duy trì trạng thái của bạn trong redux bây giờ rất có ý nghĩa.
  • Các thành phần lồng nhau sâu truyền trạng thái và rất nhiều đạo cụ cho con cái của chúng nhanh chóng nở ra với các yêu cầu ngày càng tăng. Đây là một kịch bản cổ điển với rất nhiều thành phần trình bao bọc (đặc biệt là với các chi tiết về giao diện người dùng). Một cách tốt hơn sẽ là cấu trúc lại và kết nối trực tiếp các thành phần cấp thấp với redux (chuyển đổi thành một vùng chứa . Đọc: presentational-and-container-components )
  • Ánh xạ trạng thái ứng dụng tới nhiều thành phần vùng chứa. Ví dụ: nếu bạn có trạng thái tải getAllGames được thể hiện trong một số thành phần lũy tiến-loader ở đâu đó trong ứng dụng của bạn. Sử dụng redux sẽ giúp bạn dễ dàng chia sẻ dữ liệu giữa các thành phần này.
  • Hữu ích khi xây dựng các thành phần cấp gốc có thể có các tương tác từ mọi nơi . Giống như thành phần tài khoản sử dụng, phương thức, cảnh báo, bộ tải của bạn .

Bạn sẽ nhận ra, bạn đang viết một số mã soạn sẵn với các hành động và bộ giảm. Mặc dù làm thêm giờ, điều này tốt hơn nhiều so với việc phản ứng lại quản lý nhà nước vốn có thể ngày càng phức tạp trong các thành phần trạng thái một cách nhanh chóng.

1 hữu ích 2 bình luận chia sẻ
0

Đúng, Bạn nói đúng redux không phù hợp với mọi ứng dụng, theo hiểu biết của tôi redux hoặc quản lý trạng thái được sử dụng chủ yếu nếu bạn muốn hiển thị trạng thái trước đó của người dùng thay vì trống khi một số hoạt động đang diễn ra

Dưới đây là một chút giải thích chi tiết về thời điểm sử dụng redux https://medium.com/@fastphrase/when-to-use-redux-f0aa70b5b1e2

Chúc bạn mã hóa vui vẻ!

0 hữu ích 0 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ javascript reactjs redux , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading