Tôi hơi bị suy nghĩ về cách thực hiện bộ giảm tốc nơi các thực thể của nó có thể có con cùng loại.Làm thế nào để xử lý các thực thể dạng cây trong bộ giảm tốc Redux?
Hãy lấy các nhận xét về màu đỏ làm ví dụ: mỗi nhận xét có thể nhận xét con của trẻ có thể tự nhận xét, v.v. Vì lý do đơn giản, nhận xét là bản ghi loại {id, pageId, value, children}, với pageId trang reddit.
Làm thế nào để mô hình hóa bộ giảm tốc xung quanh điều đó? Tôi đã suy nghĩ của việc có giảm là một bản đồ -> id của các ý kiến, nơi bạn có thể lọc theo trang bằng cách sử dụng pageId.
Vấn đề là ví dụ khi chúng tôi muốn thêm nhận xét vào lồng nhau: chúng tôi cần tạo bản ghi trên thư mục gốc của bản đồ và sau đó thêm id của nó vào thuộc tính cha mẹ.Để hiển thị tất cả nhận xét chúng ta cần lấy tất cả chúng, lọc những thứ mà chúng ta đứng đầu ở trên (sẽ được giữ trong bộ giảm tốc trang như một orderList chẳng hạn) và sau đó lặp lại chúng, lấy từ các đối tượng bình luận khi chúng ta gặp trẻ em bằng cách sử dụng đệ quy.
Có cách tiếp cận nào tốt hơn hay thiếu sót không?
Tôi nghĩ bạn có thể thử normalizr: https://github.com/gaearon/normalizr Chưa tự mình sử dụng, vì vậy tôi không chắc liệu nó có giúp bạn trong trường hợp của bạn hay không. – Simon
Tôi biết về normalizr, tôi tự hỏi nếu có một giải pháp "được chấp nhận" về cách xử lý nó trong các thành phần. Trừ khi bạn kết nối() mọi nhận xét bạn sẽ cần phải làm ngược lại với normalizr trên mỗi thay đổi và ngay cả khi bạn kết nối trông hơi giống một mớ hỗn độn –