如何实现redux搜索
我正在尝试在我的应用程序中实现一个搜索过滤器,它使用react/redux using redux search。我得到的第一个问题是当我尝试添加商店增强器时,如示例中所示如何实现redux搜索,redux,Redux,我正在尝试在我的应用程序中实现一个搜索过滤器,它使用react/redux using redux search。我得到的第一个问题是当我尝试添加商店增强器时,如示例中所示 //组合:使用其他商店增强器进行reduxSearch 常量增强子=合成( applyMiddleware(…中间件), reduxSearch({ //配置redux搜索,告诉它要索引哪些资源进行搜索 资源索引:{ //在本例中,可以通过以下方式搜索书籍:title和:author 书籍:[“作者”、“书名”] }, /
//组合:使用其他商店增强器进行reduxSearch
常量增强子=合成(
applyMiddleware(…中间件),
reduxSearch({
//配置redux搜索,告诉它要索引哪些资源进行搜索
资源索引:{
//在本例中,可以通过以下方式搜索书籍:title和:author
书籍:[“作者”、“书名”]
},
//此选择器负责返回每个可搜索资源集合
resourceSelector:(resourceName,state)=>{
//在我们的示例中,所有资源都存储在:resources映射下的状态中
//例如,“图书”存储在state.resources.books下
返回state.resources.get(resourceName)
}
})
)
如果此行:
return state.resources.get(resourceName)
导致此错误的原因是:
无法读取未定义的属性“get”
表示未定义state.resources
。果然,您的州没有定义resources
属性
编写示例时考虑到使用redux search
索引多种类型的资源,例如:
state: {
resources: {
books: [...],
authors: [...],
// etc
}
}
您报告的问题的解决方案是:
- 答:添加一个中介
对象(如果您认为将来可能需要索引其他内容,并且您喜欢该组织)resources
- B:用
或类似内容替换状态[resourceName]
状态.resources.get(resourceName)