Обновление магазина Redux, но представление React не - PullRequest
0 голосов
/ 11 марта 2019

Привет, когда я записываю в консоль мои компоненты реквизита (передается из-за избыточности), я получаю начальное состояние, которое равно нулю. Однако с помощью инспектора реагирования у меня есть результат запроса Axios. Я попытался прочитать десятки подобных проблем, но не видел, чтобы решить мою проблему. enter image description here

Действия

import { searchService } from  '../api/searchService';    

export const actions = {
 FETCH_USERS: 'FETCH_USERS',
}

export const searchUsers = () => dispatch => {
  searchService.get('/search')
    .then((result) => {
      dispatch({
        type: actions.FETCH_USERS,
        payload: result
      })
    })
}

1012 * Переходники *

import { actions } from '../actions';

export default (state = null, action) => {
  switch(action.type) {
    case actions.FETCH_USERS:
      return action.payload;
    default:
      return state;
  }
}

Компонент поиска

function mapStateToProps ({search}) {
  return {search};
}

const mapDispatchToProps = dispatch => ({
  searchUsers: () => dispatch(searchUsers())
});


export default connect(mapStateToProps, mapDispatchToProps)(withAuth()(Search));

1 Ответ

0 голосов
/ 11 марта 2019

Ваша проблема в редукторе Сначала вы должны сделать начальное состояние, а затем вам нужно отредактировать это состояние, чтобы приставка почувствовала изменения и обновилась

Проверьте приведенный ниже код и дайте мне знать, сработал ли он для вас.

import { actions } from '../actions';

const INITIAL_STATE= {search: ""};

export default (state = INITIAL_STATE, action) => {
  switch(action.type) {
    case actions.FETCH_USERS:
      return {...state, search: action.payload};
    default:
      return state;
  }
}
...