【问题标题】:React/Redux Unable to keep previous state of search inputReact/Redux 无法保持搜索输入的先前状态
【发布时间】:2018-04-24 00:37:40
【问题描述】:

我正在尝试将最近的搜索保存在本地存储中。

Reducer.js

const initialState = {
  venues: [],
  searches: [],
};

const venueReducer = (state = initialState, action) => {
  switch (action.type) {
    case RECENT_SEARCHES:
      return {
        ...state,
        searches: [
          ...state,
          { near: action.payload.location, query: action.payload.place },
        ],
      };
  }
};

Action.js

export const fetchVenues = (place, location) => dispatch => {
  dispatch({ type: FETCH_VENUE_REQUESTED })
  dispatch({ type: RECENT_SEARCHES, payload: { place, location } })
};

现在我正在获取用户输入并将其保存到 reducer 中的搜索数组中,但它没有保持以前的状态。只显示当前用户输入。

【问题讨论】:

    标签: javascript reactjs redux


    【解决方案1】:

    当你传播搜索时,你需要做:

    [ ...state.searches,
    

    不仅仅是:

    [ ...state,
    

    因为这会将state.venues (Array) 和state.searches (Array) 放入您的state.searches

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-25
    • 2016-07-14
    • 1970-01-01
    • 2021-06-03
    相关资源
    最近更新 更多