Как это типизировать?

Добрый день хабр, помогите пожалуйста, тайпскрипт придушил
есть функция, которая добавляет объект в массив где
id = часть урла
item = это айтем массива (я в разметке мапом прохожу по массиву)
и этот объект записываю в массив
потом я в массиве хочу найти некое значение и записать его в стейт
Ошибка возникает в строке
el => el.item
Ошибка следующего характера
Property 'item' does not exist on type 'Object'

const heroArray = useAppSelector((state) => state.heroList.items)


const addHero = (item:string, index:number):void => {
    const elements = {
      id,
      item
    }
    dispatch(addItem(elements))
    const a = heroArray.find(el => el.item === 'habr')
    setCurrentHero(a)
  }

сама типизация
interface HeroList {
  items: Object[];
  elements: {
    id: string | undefined;
    item: string;
  }
}

const initialState: HeroList = {
  items: [],
  elements: {
    id:'',
    item:'',
  }
}


тулкит
export const heroListSlice = createSlice({
  name: 'heroList',
  initialState,
  reducers: {
    addItem: (state, action: PayloadAction<Object>) => {
      state.items.push(action.payload)
      localStorage.setItem('items', JSON.stringify(state.items));
    },
  },
})
  • Вопрос задан
  • 234 просмотра
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Console.log на подозрительном объекте там и пропертисы и типы будут видны, как мне кажется вы с уровнем ошиблись
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы