【发布时间】:2025-12-29 13:25:12
【问题描述】:
我正在使用带有 immutablejs 的 redux。 我们想使用一个在内部使用 redux 但不使用 immutablejs 的插件。
- 这就是我创建应用缩减程序的方式:
import { fromJS } from 'immutable';
import { combineReducers } from 'redux-immutable';
import { LOCATION_CHANGE } from 'react-router-redux';
import { reducer as formReducer } from 'redux-form/immutable';
// prebuilt admin-on-rest features
import { adminReducer, localeReducer } from 'admin-on-rest';
// Initial routing state
const routeInitialState = fromJS({
location: null,
});
/**
* Merge route into the global application state
*/
function routeReducer(state = routeInitialState, action) {
switch (action.type) {
/* istanbul ignore next */
case LOCATION_CHANGE:
return state.merge({
location: action.payload,
});
default:
return state;
}
}
export default function createReducer(injectedReducers) {
return combineReducers({
route: routeReducer,
admin: adminReducer, // <==== This reducer is not immutable
// admin MUST be accessible using `(state) => state.admin`
// and NOT `(state) => state.get('admin')`
locale: localeReducer(),
form: formReducer,
...injectedReducers,
});
}
这就是我创建商店的方式:
const store = createStore(
createReducer(),
fromJS({}),
composeEnhancers(...enhancers)
);
只有管理存储不应该是不可变的。
admin 是否可以像在我们的 immutablejs 存储中一样插入该存储?
【问题讨论】:
标签: javascript reactjs redux react-redux immutable.js