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