Метод значений в lodash не работает должным образом - PullRequest
0 голосов
/ 12 июня 2018

Я создаю приложение реагирования с редуксом.Состояние, управляемое приставкой, является объектом объектов.Я хотел перебрать объект из состояния и отобразить его, используя карту.Поэтому я использовал _.values ​​из lodash, чтобы получить массив объектов (потому что объект, который я хочу визуализировать, тоже является объектом объектов).Но метод values ​​не возвращал массив со всеми моими объектами, вместо этого он возвращал массив длиной 1, содержащий весь объект.Это компонент приложения:

const App = () => {
  const { contacts } = store.getState();
  console.log(_.values(contacts))
  return (
    <div className="App">
      <Sidebar contacts={_.values(contacts)} />
      <Main />
    </div>
  );
};

Это редуктор:

import { contacts } from "../static_data";
export default (state = { contacts }, action) => {
    return state;
};

, и это является результатом console.log _.values ​​(contacts):

[{…}]
0
:
{ryg93t2eQ: {…}, rkel52Fhem: {…}, S1-xchK3gX: {…}, HkMg53Khgm: {…}, r1QxqnFhgX: {…}, …}
length
:
1

1 Ответ

0 голосов
/ 12 июня 2018

Я думаю, что ваша проблема в объекте, обернутом вокруг контактов в редукторе.Я удалил это ниже:

import { contacts } from "../static_data";
export default (state = contacts, action) => {
    return state;
};
...