Javascript 可以在react redux中编写道具来覆盖connect()?
我的任务是使用ReactJS/Redux重构过度使用的不必要的依赖注入 依赖项是使用JSX标记中的道具注入的,如下所示:Javascript 可以在react redux中编写道具来覆盖connect()?,javascript,node.js,reactjs,refactoring,react-redux,Javascript,Node.js,Reactjs,Refactoring,React Redux,我的任务是使用ReactJS/Redux重构过度使用的不必要的依赖注入 依赖项是使用JSX标记中的道具注入的,如下所示: <CardContainer addCountry={actions.addCountry} addDateRange={actions.addDateRangeFilter} addDistributor={actions.addDistributor} addListFilterItem={actions.addListFilterItem} a
<CardContainer
addCountry={actions.addCountry}
addDateRange={actions.addDateRangeFilter}
addDistributor={actions.addDistributor}
addListFilterItem={actions.addListFilterItem}
addListFilterWithOneItem={actions.addListFilterWithOneItem}
{/* ...other props removed for brevity */}
/>
但是我发现,很少有一个道具,addCountry传递的函数与其他函数不同
基本上,我想让connect()像静态defaultProps对象一样工作。有没有一种优雅的方法可以让通过JSX传递的道具覆盖connect(),这样我就可以根据需要重构它,而不是一次在整个代码库中重构它?与其全局修改默认行为,不如创建一个defaultProps对象,在需要的地方导入它,然后像这样应用它:
default_props.js
module.exports = {
addCountry: actions.addCountry,
addDateRange: actions.addDateRangeFilter,
addDistributor: actions.addDistributor,
addListFilterItem: actions.addListFilterItem,
addListFilterWithOneItem: actions.addListFilterWithOneItem
};
某些组件文件
var defaultProps = require('default_props.js');
...
<CardContainer {...defaultProps} />
有用阅读:与其全局修改默认行为,我建议创建一个defaultProps对象,在需要的地方导入它,然后像这样应用它:
default_props.js
module.exports = {
addCountry: actions.addCountry,
addDateRange: actions.addDateRangeFilter,
addDistributor: actions.addDistributor,
addListFilterItem: actions.addListFilterItem,
addListFilterWithOneItem: actions.addListFilterWithOneItem
};
某些组件文件
var defaultProps = require('default_props.js');
...
<CardContainer {...defaultProps} />
有用的阅读: