【问题标题】:Getting "Object is of type 'unknown'." error on location.state在 location.state 上出现 \"Object is of type \'unknown\'.\" 错误
【发布时间】:2022-12-19 23:15:19
【问题描述】:

我正在像这样使用 useLocation 挂钩 -> const location = useLocation();。然后我尝试将它传递给像这样的 React 元素的道具

【问题讨论】:

  • 您是否为 React 路由器 dom 库安装了类型?
  • @Soheb 是的 -> "@types/react-router-dom": "5.3.3" 但我的 react-router-dom 版本是 - "react-router-dom": "6.2.2"。这可能是问题所在吗?
  • 这是可用于 react-router-dom 的最新类型...,您可以尝试定义类型以检查是否可以解决问题
  • @Soheb 但是我应该使用什么类型的?
  • 我认为我们应该从历史记录中导入 Location 并将其作为 const location = useLocation<Location>() 传递,试试这个

标签: javascript


【解决方案1】:

我认为要处理此问题,您可以尝试以下两种方式: 第一次尝试时,请参考以下问题链接并测试其答案: React TypeScript: Correct type for useLocation() from react-router-dom。 如果它不适合您,请尝试使用lodash library 进行以下操作:

import get from 'lodash/get'
 
 ...
 
 <DatePicker
 get(location, 'state.procedureDetail.description', '')
     emphasize={get(location, 'state.some') &&
       get(location, 'state.some')(
           (f: string) => f === 'endDate'
       )
     }
     data-testid="collection-form-end-date"
     type="datetime-local"
     {...field}
 />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-09
    • 2020-12-12
    • 1970-01-01
    • 2020-01-23
    • 2023-02-15
    • 2023-01-30
    • 2022-11-19
    相关资源
    最近更新 更多