我正在使用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数组???
我希望你们能理解我,因为我的英语不好。
谢谢!