Свойство 'detail' не существует для типа '{}'. Ts (2339) - PullRequest
0 голосов
/ 30 марта 2020

Я получаю сообщение об ошибке в заголовке кода ниже, как я могу это исправить?

  • Любая помощь приветствуется!

import { useHistory } from "react-router-dom";

let history = useHistory();
    history.push({
        pathname: '/otherPage',
        state: { detail: id }
    });

//otherPage
import React, { useEffect } from 'react';
import { useLocation } from "react-router-dom";

const location = useLocation();
    useEffect(() => {
        console.log(location.state.detail);
    }, [location]);

1 Ответ

1 голос
/ 30 марта 2020

Добро пожаловать в StackOverflow.

Проблема с вашим кодом заключается в том, что часть местоположения state определяется пользователем. Итак, что вам нужно сделать, если вы знаете, что вы заполнили в этом штате, это указать тип вашего состояния:

interface State {
  detail: string;
}

const location = useLocation<State>();
useEffect(() => {
    console.log(location.state.detail);
}, [location]);
...