Reactjs 为搜索、筛选、分页和刷新设计状态树

Reactjs 为搜索、筛选、分页和刷新设计状态树,reactjs,react-native,redux,Reactjs,React Native,Redux,我正在使用redux开发一个React原生应用程序。我的应用程序有一个主页,将在屏幕顶部显示电影列表和搜索栏。用户选择筛选字段的设置页 在redux主页中关注真实世界的应用程序。() 我设计我的应用程序的状态树如下: { entities: { movies: { id1: { id1. title, .... } }, pagination:{ movies: { } }, meta: {

我正在使用redux开发一个React原生应用程序。我的应用程序有一个主页,将在屏幕顶部显示电影列表和搜索栏。用户选择筛选字段的设置页

在redux主页中关注真实世界的应用程序。()

我设计我的应用程序的状态树如下:

{
 entities: {
   movies: {
    id1: {
       id1.
       title,
       ....
    }  
  },
  pagination:{
    movies: {
    }
  },
  meta: {
     search: '',
     filter1: '',
     filter2: true,
     filter3: ''
  }
}
在第一次进入主页时,我使用元道具创建了一个这样的键

key="keyword=&filter1=&filter2=true&filter3=";
因此,状态树将变成:

pagination:{
   'keyword=&filter1=&filter2=true&filter3='{
     fetching: false,
     ids: [id1, id2, ...]
     offset: 0,
    }
  }
pagination:{
   'keyword=&filter1=&filter2=true&filter3='{
     fetching: false,
     ids: [id1, id2, ...]
     offset: 0,
    },
    'keyword=hello&filter1=&filter2=true&filter3='{
     fetching: false,
     ids: [id1, id2, ...]
     offset: 0,
    }
  }
如果我使用搜索框并搜索关键字“hello”,则该键将出现:

key="keyword=hello&filter1=&filter2=true&filter3=";
状态树将变成:

pagination:{
   'keyword=&filter1=&filter2=true&filter3='{
     fetching: false,
     ids: [id1, id2, ...]
     offset: 0,
    }
  }
pagination:{
   'keyword=&filter1=&filter2=true&filter3='{
     fetching: false,
     ids: [id1, id2, ...]
     offset: 0,
    },
    'keyword=hello&filter1=&filter2=true&filter3='{
     fetching: false,
     ids: [id1, id2, ...]
     offset: 0,
    }
  }
所以我的问题是:使用这种方法来设计状态树是一个好主意吗?你能为我的应用程序的设计状态提供更好的建议吗

当我实现拉入刷新功能时,我需要删除一个键的所有ID字段,还是只需要更新offset=0并重新加载ids数组

我希望你们能理解我,因为我的英语不好


谢谢大家!

嗨,怪物代码,我不能理解你的问题。你在用减速机吗?如果你已经实现了一些代码,那么就分享吧。是的,我使用reducer。但现在,我只想谈谈redux中的状态树。你读过真实世界的应用程序吗?