Array.indexOf не является функцией - PullRequest
0 голосов
/ 16 января 2020

Приложение, которое я сделал, представляет собой веб-сайт mov ie, который показывает фильмы на основе вашего поиска. Вы также можете добавить избранное, но оно не связано с вашим профилем. Поэтому я решил создать другое значение в начальном состоянии профиля в redux.

export const profileInitialState = [
{pass: '123', user: 'daniel', email: 'daniel@123.com', favourites: 'batman' },
]

interface IProfileState {
    pass: string, 
    user: string,
    email: string,
    favourites?: string
}

и просто отобразить его оттуда

{data.profileReducer.slice(data.profileReducer.indexOf( {user: currUser, pass: password, email: email}, 1)).map(info =>
  <p key={data.profileReducer.length + 1.5} > {info.favourites} </p>)}

и даже подумать, что оно работает идеально в консоли он говорит мне, что profileReducer.indexOf не является функцией, когда я реализую ее в своем коде.

1 Ответ

0 голосов
/ 16 января 2020

Прежде всего, Array.prototype.indexOf() нельзя использовать для поиска индекса элементов объекта в массиве.

Как получить индекс объекта по его свойству в JavaScript? . Эта ссылка описывает, как можно получить индекс элементов массива.

Ошибка может быть вызвана несколькими причинами

  • data.profileReduceris undefined или null
  • data .profileReducer не является массивом
...