我正在显示一个页面加载器,我正在从reducer获取其值。如果提交的值为true,则显示加载程序,否则将关闭加载程序。 由于我正在使用多个reducer,因此我需要检查每个reducer提交的是否正确。
isLoading:
state.agentState.submitted ||
state.chitState.submitted ||
state.chittiesState.submitted ||
state.employeeState.submitted ||
state.userState.submitted ||
state.visitorState.submitted
如何简化上述条件。
答案 0 :(得分:2)
已更新
我为您创建了一个沙箱,您可以在上面的评论中了解我的意思:
https://codesandbox.io/s/p39zkx00zj
别忘了导入lodash函数:
import { some } from 'lodash';
Lodash在我的 package.json 中:
"lodash": "^4.17.5",
只需使用lodash中的一些来遍历状态,看看是否可以通过提交的键=== true找到任何状态对象。如果找到1,它将返回true,否则返回false。
const isLoading = some(fakeState, item => item.submitted === true);