设计用于搜索,过滤,分页和刷新的状态树

时间:2017-06-30 04:04:37

标签: reactjs react-native redux

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

在redux主页上关注真实应用。 (real-world

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

{
 entities: {
   movies: {
    id1: {
       id1.
       title,
       ....
    }  
  },
  pagination:{
    movies: {
    }
  },
  meta: {
     search: '',
     filter1: '',
     filter2: true,
     filter3: ''
  }
}

在第一次转到主页时,我使用meta props创建一个像这样的键

key="keyword=&filter1=&filter2=true&filter3=";

因此州树将成为:

pagination:{
   'keyword=&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,
    },
    'keyword=hello&filter1=&filter2=true&filter3='{
     fetching: false,
     ids: [id1, id2, ...]
     offset: 0,
    }
  }

所以我的问题:用这种方法设计状态树是个好主意吗?你能为我的应用程序提供更好的设计状态建议吗?

当我实现pull to refresh功能时,我是否需要删除一个键的所有id字段或者只需要更新offset = 0并重新加载id数组???

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

谢谢!

0 个答案:

没有答案