@DevilPrado

Как исправить ошибку «Property 'id' does not exist on type 'never'»?

У меня есть вот такой стейт:
const [formSearch, setFormSearch] = useState({
        page: 0,
        name: '',
        sort: 'customName,asc',
        list: []
    })

Когда я пытаюсь обработать свойство list в методе map, он выдает мне ошибку: Property 'id' does not exist on type 'never'
formSearch
                    &&
                    formSearch.list.length > 0
                    &&
                    formSearch.list.map( (elem, index) => {
                       
                        
                        return(
                        <div key={'person-list-'+index}>
                            
                            <PersonChoosePanel data={elem} isChoosen={ choosenIds.indexOf(elem.id!)!==(-1)}/>
                        </div>
                        )
                        })
  • Вопрос задан
  • 2462 просмотра
Пригласить эксперта
Ответы на вопрос 2
Alexandroppolus
@Alexandroppolus
кодир
задай тип стейта
const [formSearch, setFormSearch] = useState<StateType>({
        page: 0,
        name: '',
        sort: 'customName,asc',
        list: []
    })


в StateType будет быть явно указано, какого типа элементы в массиве list. А то сейчас они never, чтобы пресечь анархию (мать порядка)
Ответ написан
Комментировать
@webjun
К примеру напиши интерфейс:
interface Idata {
  page: number;
  name: string;
  sort: string;
  list:  any;
}


и типизируй стейт:
const [formSearch, setFormSearch] = useState<Idata>[]
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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