Reactjs 如果消息数组中存在特定字符串,则在Redux存储中搜索
我试图在redux中使用类似于Reactjs 如果消息数组中存在特定字符串,则在Redux存储中搜索,reactjs,ecmascript-6,redux,react-redux,Reactjs,Ecmascript 6,Redux,React Redux,我试图在redux中使用类似于contains()函数的东西,但显然它不存在 case types.FILTER_MESSAGES_BY_CONTENT: return { ...state, messageSearchResults: state.messages.map(message => message.content.contains(action.search)) }; 行动: expor
contains()
函数的东西,但显然它不存在
case types.FILTER_MESSAGES_BY_CONTENT:
return {
...state,
messageSearchResults: state.messages.map(message => message.content.contains(action.search))
};
行动:
export function filterMessagesByContent(search) {
return {
type: types.FILTER_MESSAGES_BY_CONTENT,
search: search
};
}
Console.log of messages会返回以下消息(其中一个):
在本例中,messages包含所有消息,在messageSearchResults
中,我希望放置包含我给出的搜索查询的所有消息
我该怎么做?我想试试这个,它应该会返回过滤过的消息
messageSearchResults: state.messages.filter(message => message.content.includes(action.search))
自
"Quisque id justo sit amet".includes("id") // returns true
但是,我应该指出,
包含
将起作用查询
是消息中的容器。内容
我想试试这个,它应该会返回过滤后的消息
messageSearchResults: state.messages.filter(message => message.content.includes(action.search))
自
"Quisque id justo sit amet".includes("id") // returns true
但是,我应该指出,
includes
将起作用query
是消息中的容器。content
U也可以这样过滤并检查其包含与否
messageSearchResults: state.messages.filter({content}=>content.includes(action.search));
你也可以这样过滤并检查它是否包含
messageSearchResults: state.messages.filter({content}=>content.includes(action.search));
是的,我只是仔细检查了一下。message.content是我要在其中查找查询的字符串数组的内容。是否改为使用
包含?你能展示一下message和action.search是什么样子吗?我刚刚添加了它们。如果我使用includes,它会说无法读取未定义的属性“map”
是的,我只是仔细检查了一下。message.content是我要在其中查找查询的字符串数组的内容。是否改为使用包含?你能展示一下message和action.search是什么样子吗?我刚刚添加了它们。如果我使用include,它会说无法读取未定义的属性“map”
是的,非常感谢!知道为什么包含不起作用吗?@SinanSamet没问题,我还编辑了我的答案,指出只有当查询是消息内容中的容器时,包含才会起作用。啊,好的,这是有道理的。但是你的意思是包含我想。是的,这很有效,谢谢!知道为什么包含不起作用吗?@SinanSamet没问题,我还编辑了我的答案,指出只有当查询是消息内容中的容器时,包含才会起作用。啊,好的,这是有道理的。但我想你的意思是包含。