从对象/数组redux store

时间:2017-09-27 16:38:52

标签: javascript redux

我试图映射数组对象?

console.log

我试图把它映射过来。

<ul>{categories.map(cat => <li key={cat.name}>{cat.name}</li>)}</ul>

但收到一个错误,它不是一个功能。我想这是因为它的数组和地图对象只处理纯数组?但我不确定如何使用它。

或者我可以直接从我的动作/缩减器返回不同类型的对象,我正在使用redux-thunkaxios

API

const headers = {
  Accept: 'application/json',
  'Content-Type': 'application/json',
  Authorization: 'jfaiwnfwvin',
}

export const fetchCategories = () => {
  return axios.get(`${API_URL}/categories`, { headers })
}

动作

export function getCategories() {
  const request = API.fetchCategories()

  return dispatch => {
    request.then(({ data }) => {
      dispatch({ type: CATEGORIES_GET_CATEGORIES, payload: data })
    })
  }
}

减速

const categories = (state = [], action) => {
  switch (action.type) {
    case CATEGORIES_GET_CATEGORIES:
      return action.payload
    default:
      return state
  }
}  

组件使用

export default connect(state => ({ categories: state.categories }), {
  getCategories,
})(Category)

1 个答案:

答案 0 :(得分:1)

从获得响应的那一刻起,您可以随时选择类别数组并将其传递,

我建议在收到数据对象后立即执行此操作

但您也可以在reducer阶段或直接在组件中完成。