Reactjs 在redux中,在数组上应用默认值集(但仅在初始加载时)的最佳方法是什么?
我们的用户从我们的网站上选择一个(或多个)“解决方案”。之后,我们向他们展示了提供上述解决方案的公司列表。根据用户的位置和一些其他变量,我们在此列表上应用默认选择 我们有(除其他外)Reactjs 在redux中,在数组上应用默认值集(但仅在初始加载时)的最佳方法是什么?,reactjs,redux,react-redux,Reactjs,Redux,React Redux,我们的用户从我们的网站上选择一个(或多个)“解决方案”。之后,我们向他们展示了提供上述解决方案的公司列表。根据用户的位置和一些其他变量,我们在此列表上应用默认选择 我们有(除其他外)getcompanys和getCompanyContainers getcompanys返回所有公司的数组,并且getCompanyContainers将这些公司包装在如下容器中: { selected: _.includes(selectedCompanyIds, c.id) company: c } 我
getcompanys
和getCompanyContainers
getcompanys
返回所有公司的数组,并且getCompanyContainers
将这些公司包装在如下容器中:
{
selected: _.includes(selectedCompanyIds, c.id)
company: c
}
我的第一次尝试是检查selectedCompanyIds
是否为空。如果是,则应用该算法。如果不是,则应用用户的选择。但如果用户取消选择所有公司,则会再次应用默认算法。我希望算法只应用于初始页面加载
在以redux友好的方式实现它的同时,最好的方法是什么呢?为减速机设置初始值的最好方法实际上是在您的
reducer.js
文件中,在该文件中您有减速机函数(initialState=[…],action){…}
。还是我遗漏了什么?请。。。如果有人需要更多的信息,代码,无论什么,请告诉我。这是我的第一个基于redux的问题,我不确定这个特定问题是否需要任何代码。是否可以根据用户稍后在应用程序中设置的变量更改这些默认值?@JeffHuijsmans从技术上讲,您不会更改默认值,但调度一个操作,reducer将使用新的属性创建一个新状态“默认”值。听起来很好,很健壮,太棒了!我们决定在后端实现这个逻辑,因为这个逻辑不应该暴露给恶意用户。这个问题仍然适用于我们系统中的其他一些逻辑,所以您的回答不是徒劳的。谢谢!