我正在重构一个 React/Redux 应用程序,该应用程序已经构建到需要删除大量减速器逻辑的重复值。我研究过高阶减速器,但我很难理解如何让它们为我工作。
这是一个例子:
减速器.js
import components from './entities/components';
import events from './entities/events';
import items from './entities/items';
const entities = combineReducers({
components,
items,
events,
});
Run Code Online (Sandbox Code Playgroud)
我正在使用正常化。这是我的状态的一个想法。对于此示例,只需知道事件可以属于组件或项目,但两者是可以区分的。
{
entities: {
components: {
component_1: {
events: ['event_1'],
},
},
items: {
item_1: {
events: ['event_2'],
},
},
events: {
event_1: {
comment: "foo"
},
event_2: {
comment: "bar"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我EVENT_ADD在所有 3 个减速器中都使用了操作类型。component.js和item.js (如下)的逻辑是相同的,但两者也具有特定于其类型的独立操作。
.has()在这里,我通过使用 Immutable.js 的函数检查目标 ID 是否存在于状态的该部分中,避免了不必要地将事件添加到错误的位置。
export default (state = getInitState('component'), …Run Code Online (Sandbox Code Playgroud) 我正在开发一个具有多个数据库连接的应用程序.看来当我运行php artisan migrate时:安装它总是使用app/config/database.php中的默认连接创建迁移表,这是不理想的.
有没有办法为迁移表本身指定不同的连接?
我创建了一个自定义配置文件(config/myconfig.php例如),因此任何人都可以在一个地方轻松快速地更改选项,以便使用可配置选项在其特定环境中工作。
我已经成功地让这些配置键在某些文件(我的控制器,甚至在database.php)中工作。但是,我似乎无法在 app.php 中使用 Config 类。例如,我想设置'debug' => Config::get('myconfig.debug_enabled'),但我不断收到错误:Class 'Config' not found。
也许我只是错过了一些东西或者只是采取了错误的方法。任何方向将不胜感激。
干杯。