Магазин Redux не обновляет представление компонентов при изменении состояния - PullRequest
0 голосов
/ 04 января 2019

У меня проблемы с отображением, которое не отображается после изменения состояния магазина.

В промежуточном программном обеспечении ведения журнала я вижу, что действия вызываются правильно и что состояние хранилища имеет новые значения. Если я перехожу на другую страницу с реакции-маршрутизатором, а затем возвращаюсь, пользователи правильно отображаются в магазине, поэтому я знаю, что mapStateToProps работает.

MyComponent

const mapStateToProps = (state) => {
    return {
        users: state.users.all
    };
};

const actionCreators = {
    fetchUsers
};

export class Users extends React.Component<UsersProps, UsersState> {
    constructor(props) {
        super(props);

        this.state = {           
            // initial values
        };
    }

    componentDidMount() {
        this.props.fetchUsers();
    }

    render() {
        // return PrimeReact DataTable with users prop
    }
}

export default compose(
    withRouter,
    connect(mapStateToProps, actionCreators),
    injectIntl,
)(Users);

1012 * Действия *

export function fetchUsers() {
    return async dispatch => {
        const users = await new UserService().users();
        return dispatch(receiveUsers(users));
    };
}

function receiveUsers(users: User[]) {
    return { users, type: RECEIVE_USERS };
}

Редуктор

export default combineReducers({
    users
});

function users(state, action) {
    switch (action.type) {
        case RECEIVE_USERS:
            return {
                ...state,
                all: action.users,
            };
        default:
            return state;
    }
}

магазин

export default function configureStore(preloadedState) {
    const middlewares = [
        loggerMiddleware,
        thunkMiddleware,
    ];
    const middlewareEnhancer = applyMiddleware(...middlewares);

    const store = createStore(reducer, middlewareEnhancer);

    return store;
}

1 Ответ

0 голосов
/ 08 января 2019

Код в порядке. Обновление зависимости react-dom npm с 16.4.2 до 16.7.0 устранило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...