Хранить настройки по умолчанию с помощью прослеживаемого промежуточного программного обеспечения

Я делаю эпический наблюдаемый эпос в качестве промежуточного программного обеспечения, а также хочу предоставить состояние по умолчанию для хранения. В некоторых местах я видел 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 работает нормально

Другие вопросы по тегам