Reactjs 使用redux单击应用和重置多个过滤器
我需要做的产品,将在点击过滤列表。但我就是搞不懂如何在反应中做到这一点。主要是:Reactjs 使用redux单击应用和重置多个过滤器,reactjs,redux,react-redux,Reactjs,Redux,React Redux,我需要做的产品,将在点击过滤列表。但我就是搞不懂如何在反应中做到这一点。主要是: 在哪里做过滤功能 如何合并数据并将其传递给reducer 如何用一个按钮触发所有这些 我相信对于一个有经验的开发人员来说,这是一个非常琐碎的例子 到目前为止包含我的代码的存储库: 现在我有了一个输出json的组件 和包含所有过滤器的组件。遗憾的是,我无法理解如何通过我的行动和减速器来实现:( 这是我的过滤器 const-mapStateToProps=(state)=>{ 返回{ 过滤器:state.filter
const-mapStateToProps=(state)=>{
返回{
过滤器:state.filter,
}
}
常量mapDispatchToProps={filtersApply,filtersReset}
函数筛选器({Filter,filtersApply,filtersReset}){
console.log(过滤器)
常量类型选项=[
{值:“公寓”,标签:“住宅”,
{值:'hotel',标签:'Сцц'},
]
常数countriesOptions=[
{值:'greece',标签:'Гццц'},
{值:'俄语',标签:'П砦С砦'},
{值:'ukraine',标签:'Уааааа'},
]
const[types,setTypes]=useState([])
const[countries,setCountries]=useState([])
const handleOnChangeCountries=(selectedOption)=>{
设置国家/地区(选择选项)
log(`Option selected:`,selectedOption)
}
const handleOnChangeTypes=(selectedOption)=>{
设置类型(选择选项)
log(`Option selected:`,selectedOption)
}
返回(
Тип
Количество звезд
1 звезда
2 звезды
3 звезды
4 звезды
5 звезд
{
filtersApply({name:'countryFilter',值:countries})
}}
>
Применить фильтр
Очистить фильтр
)
}
导出默认连接(MapStateTrops、mapDispatchToProps)(筛选器)
我广泛使用的模式之一(不仅仅是redux)是将列表保存在两个状态变量中。第一个是由某个标识符映射的所有实体的哈希映射,另一个是标识符列表。例如,您有一个酒店列表。我会这样做:
let initialState={
酒店:{
1: {
id:1,
名称:“玛丽娜酒店”,
国家:“Гцццц”,
地址:“Фааааааааааааааа,
星星:4,
类型:“ааа”,
说明:
"Этот 4-звездочный отель расположен в центре города. На его территории есть бассейн с террасой и сауна. Из номеров открывается вид на море или на средневековый город.",
服务:[
"Пляж",
"Кондиционер",
"Открытый бассейн",
"Бесплатная парковка",
“无线网络”,
"Вид на море",
"Бесплатный завтрак",
],
最低价格:2789.0,
货币:“卢布”,
评级:4.5,
审查金额:18,
最后一次审查:
"Отличное расположение. Вкусный завтрак. Отдыхали с детьми - все понравилось.",
},
2: {
id:2,
名称:“蒙德里安套房酒店”,
国家:“Гцццц”,
地址:“Фааааааааааааааа,
星星:5,
类型:“АПаааааааааафф”,
说明:
"Из окон открывается вид на город.К услугам гостей номера-студио с балконом и чайником в 2,7 км от пляжа.",
服务:[
"Пляж",
"Кондиционер",
"Открытый бассейн",
"Платная парковка",
“无线网络”,
"Вид на море",
],
最低价格:3245.2,
货币:“卢布”,
评级:5,
审查金额:4,
最后一次审查:
"Потрясающее место, в номере есть все необходимое. Красивый вид на море.",
},
3: {
名称:“阳光公寓”,
国家:“Гцццц”,
地址:“Пцццццц,Пццццц”,
星星:2,
类型:“АПаааааааааааафф,
说明:
"Все номера и апартаменты оборудованы кондиционером и телевизором с плоским экраном. Также в распоряжении гостей тостер и чайник.",
服务:[
"Пляж",
"Кондиционер",
"Бесплатная парковка",
“无线网络”,
],
最低价格:1153.0,
货币:“卢布”,
评级:2.4,
审查金额:36,
最后一次审查:
"Бассейн очень маленький. Кормят невкусно. Больше не поедем.",
},
4: {
名称:“超级全包酒店”,
国家:“Гцццц”,
地址:“Пцццццц,Пцццццццц”,
星星:4,
类型:“ааа”,
说明:
"Все но