Хранить настройки по умолчанию с помощью прослеживаемого промежуточного программного обеспечения
Я делаю эпический наблюдаемый эпос в качестве промежуточного программного обеспечения, а также хочу предоставить состояние по умолчанию для хранения. В некоторых местах я видел applyMiddleware в качестве третьего аргумента функции createStore, тогда как в некоторых местах это второй аргумент. Как я могу достичь этого?
Я пытаюсь это
const defaultState = {users: []};
const store = createStore(rootReducer, defaultState, applyMiddleWare(middleWare));
Мое главное приложение выглядит так
import { bindActionCreators} from 'redux';
import { connect } from 'react-redux';
import * as actionCreators from '../actions/actionCreator';
import Main from './Main';
import 'rxjs';
function mapStatesToProps(state) {
return {
users: state.users,
error: state.error
}
}
function mapDispatchToProps(dispatch) {
return bindActionCreators(actionCreators, dispatch);
}
const App = connect(mapStatesToProps, mapDispatchToProps)(Main);
export default App;
Но это не установка состояния по умолчанию.
3 ответа
На самом деле вы должны передать состояние по умолчанию в качестве второго аргумента. Должна быть ошибка в коде, которая здесь не указана.
Вы пытались воспроизвести проблему за пределами вашего приложения? Если у вас есть и вы можете поделиться этим полным кодом для воспроизведения, я могу взглянуть.
Можете ли вы попробовать использовать "compose" в третьем параметре, как показано ниже?
import { compose } from 'redux';
const defaultState = {users: []};
const store = createStore(rootReducer, defaultState, compose(applyMiddleWare(middleWare)));
Я обнаружил проблему, это происходило из-за несоответствия имени редуктора и свойства состояния по умолчанию,
Мое имя редуктора было User
в то время как я пытался добавить users
свойство в состояние по умолчанию. Сделав их обоих users
работает нормально