React 使用 RouteComponentProps - 类型“{}”缺少类型“Readonly
2024-04-06


我正在使用 React 和 Typescript,并且需要使用历史记录,因为我需要有 RouteComponentProps 接口

export default class Routes extends Component<RouteComponentProps, any> {
  render() {
   return (
    <div>
      <Switch>
        <Route exact path="/" component={Home} />
        <Route exact path="/login" component={Login} />
        <ProtectedRoute exact path="/admin" component={Admin} />
      </Switch>
    </div>
  );
 }}

当我使用 props 接口作为 RouteComponentProps 时,它在下面的代码中给出错误。

class App extends Component {
  render() {
   return (
     <Provider>
       <React.Fragment>
         <Navbar />
         <Routes />
       </React.Fragment>
     </Provider>
 );
}
}

当我尝试使用我的路线组件时出现错误。错误说

类型“{}”缺少类型“Readonly>”中的以下属性:历史记录、位置、匹配 TS2739

请帮助解决这个问题


您必须将这些道具传递给您的组件。

ofc 你不想在应用程序组件中传递它。只需将其包裹起来hoc https://reactjs.org/docs/higher-order-components.html来自反应路由器库)

高阶组件“withRouter”将完成这项工作

import { RouteComponentProps, withRouter } from 'react-router';    
class Routes extends React.Component<RouteComponentProps, any> {

  public render() {
    return (
      <div>
        <Switch>
          <Route exact path="/" component={Home} />
          <Route exact path="/login" component={Login} />
          <ProtectedRoute exact path="/admin" component={Admin} />
        </Switch>
      </div>
    );
  }
}

export default withRouter(Routes);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React 使用 RouteComponentProps - 类型“{}”缺少类型“Readonly

  • 无法读取未定义的“触及”属性

    为什么我会收到此错误无法读取未定义的属性 为什么无法读取formName controls email touched但它能够阅读formName get custDetails touched
  • 避免在 ES6 的函数内定位 this 的对象作用域

    例如 我正在使用 D3 js 运行一个项目 导入特定模块并调用它们的函数 Setup TypeScript ES6 导入特定的 D3 组件 角6 我有一个对象 在本例中是一个角度指令 并在 SVG 画布上绘制一些圆圈 并希望它们在拖动事件上
  • 类型“void”不可分配给类型“((event:MouseEvent) => void) |不明确的'

    import as React from react import App css import PageTwo from components PageTwo export interface IPropsk data Array
  • VSCode TypeScript 问题Matcher `$tsc-watch` 未观看

    我试图避免使用watch true in a tsconfig json配置 通过 VSCode 的任务 我正在使用基本问题匹配器 tsc watch但它没有启动tsc构建时处于监视模式 我正在添加gulp支持 我看到有gulp watch
  • Dart 中的字符串文字类型(如 TypeScript)?

    感谢 Flutter 我开始使用 Dart 而且我非常喜欢这门语言 我之前使用过 TypeScript 它提供了一些我以前从未见过的非常酷的功能 我特别喜欢的是字符串文字类型 https www typescriptlang org doc
  • React PropTypes 与 Flow

    PropTypes 和 Flow 涵盖相似的内容 但使用不同的方法 PropTypes 可以在运行时向您发出警告 这有助于快速找到来自服务器等的格式错误的响应 但是 Flow 似乎是未来 并且具有泛型等概念 是一个非常灵活的解决方案 Nuc
  • 在 angular2 中过滤数组

    我正在研究如何在 Angular2 中过滤数据数组 我研究过使用自定义管道 但我觉得这不是我想要的 因为它似乎更适合简单的表示转换 而不是过滤大量数据 数组排列如下 getLogs Array
  • 需要有关 React Js 的帮助

    我是 React Js 新手 我的代码无法正常工作 请看下面 这是我的脚本文件Main jsx 该文件由 React 编译 输出放置在 dist 文件夹下的 main js 文件中 var react require react react
  • 将迭代器结果键入元组

    有没有办法指定迭代器的类型 以便接收者知道迭代器生成一个元组 这样我就可以做这样的事情 class Vector2 components number number Symbol iterator yield this components
  • 将 firestore 中的数据分配给变量

    我尝试使用 get doc 函数将 firestore 数据库中的变量分配给它们所尊重的值 我注意到它不会分配或更新这些值 我尝试使用异步和等待 但似乎无法使其工作 getFromDatabase nameOfCollection name
  • React onSubmit e.preventDefault() 有时不起作用 + Axios

    现在我在 React 中面临这个奇怪的问题 其中带有 e preventDefault 的 onSubmit 函数有时会避免刷新页面 有时则不会 我创建了两个挂钩来跟踪上传的文件及其进度条 const uploadedFiles setUp
  • Redux 状态在 mapStateToProps 中未定义

    我目前正在关注this http teropa info blog 2015 09 10 full stack redux tutorial html教程 我遇到了一些障碍mapStateToProps在下面的代码中 import Reac
  • iOS 11 浏览器图像错误

    在 iOS 11 中滚动页面时出现以下错误 在 Firefox Safari 和 Chrome 中 在 Android 设备中 不会发生该错误 这些是背景图像 我不知道这是否是导致错误的原因 图 2 显示了图像在 Android 中的用途和
  • ant-d upload中如何为removeFile添加PopConfirm一个图片文件

    我正在使用 Ant d Upload 通过本地系统上传文件 然后单击文件预览图像上的删除图标 图像文件将被删除 我想添加一个弹出确认 所以我尝试在 onRemovefunction 中添加确认作为承诺但它不起作用 它在浏览器中显示警报 on
  • 使react-leaflet能够离线使用

    我一直在使用反应传单 https github com PaulLeCam react leaflet图书馆 到目前为止运作良好 现在我希望网站预加载尽可能多的图块 以便网络应用程序 也是 PWA 可以在没有互联网的情况下使用 我找到了一些
  • Angular 2在实例化子组件之前解析根组件

    当我刷新网络应用程序时 我希望它在实例化任何组件或路由之前请求潜在的登录用户数据 如果找到用户的数据 我想将其注入到我的所有其他子组件所依赖的服务中 场景 假设我有 3 个组件 应用程序 ROOT 主页和关于 如果我将此代码放在 About
  • 如何访问另一个 mobx 商店中的 mobx 商店?

    假设以下结构 stores RouterStore js UserStore js index js each of Store jsfiles 是一个 mobx 存储类 包含 observable and action index js只
  • 装饰器可以更改方法的签名吗?

    考虑一个函数 function handleFoo foo number 我想要一个解析 foo 的装饰器 例如 fetchFromApi foo function handleFoo foo number where fetchFromA
  • 如何获取使用 .map 渲染的第一个元素的 ref?

    我需要在几行中显示视频 卡片 的缩略图 并重点关注第一个缩略图 我使用嵌套地图进行了显示 该代码基本上迭代视频数组并返回多行视频 我们如何关注第一个渲染的元素 我认为我们需要获得第一个要聚焦的元素的引用 但是我们如何在这里设置 ref 并在
  • React Native - 跨屏幕传递数据

    我遇到了一些麻烦react native应用程序 我不知道如何跨屏幕传递数据 我意识到还有其他类似的问题在 SO 上得到了回答 但是这些解决方案对我来说不起作用 我正在使用StackNavigator 这是我的设置App js file e

随机推荐