使用react-router-relay类型增强react-router模块

2024-03-30

默认的react-router是这样使用的:

import * as React from 'react';
import { Router, Route, hashHistory } from 'react-router';

const routing = (
    <Router history={hashHistory}>
        <Route path="/login" component={Login}/>
    </Router>   
};

当我包含“react-router-relay”库时,它为路由器添加了功能。也就是说,它向 Router 组件添加了 2 个属性(渲染和环境):

import * as React from 'react';
import * as Relay from 'react-relay';
import * as useRelay from 'react-router-relay';
import { Router, Route, hashHistory, applyRouterMiddleware } from 'react-router';

const routing = (
    <Router history={hashHistory} render={applyRouterMiddleware(useRelay)} environment={Relay.Store}>
        <Route path="/login" component={Login}/>
    </Router>   
};

我将如何增加反应路由器的类型?

我尝试了很多方法,最新的是:

import { Router } from 'react-router';

declare module 'react-router' {
    namespace Router {
        export interface RouterProps {
            environment?: any
        }
    }
}

因为我需要扩展命名空间“Router”和其下的接口“RouteProps”。

链接到 React 路由器类型:https://www.npmjs.com/package/@types/react-router https://www.npmjs.com/package/@types/react-router

React-router-relay 库本身没有任何类型。

我找到的有关此主题的所有信息:

  • https://github.com/Microsoft/TypeScript/issues/11034 https://github.com/Microsoft/TypeScript/issues/11034
  • https://github.com/typings/typings/issues/611 https://github.com/typings/typings/issues/611
  • so the problem seems to be that react typings don't ever export the namespaces so it becomes impossible to augment them


试试这个

declare module 'react-router' { 
   interface RouterProps {
      environment?: any
      render?: any
   } 
}

它正在使用最新的反应路由器定义。

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

使用react-router-relay类型增强react-router模块 的相关文章

随机推荐

  • 奇怪的“在所有成员初始化之前被闭包捕获的‘self’”错误

    请看一下下面的代码 class A let a String let b String init a String b String self a a self b b class B A let c Bool private let aE
  • 连接字符串存储在哪里

    我正在创建一个类库 其中包含我在开发的应用程序中经常使用的所有自定义类 该库被编译并作为参考添加到我的每个应用程序中 使我能够调用该库中包含的自定义类 我的库中的自定义类包括多层继承 但它们最终都起源于我称为 Alpha 的基类 在该类中
  • 在 Java 中重新排列 ArrayList 的最佳方法

    重新排列列表中元素的最佳方法是什么 我需要能够移动元素来移动列表中的元素 在索引中后退或前进一步 我正在考虑获取该项目的索引 将其添加到索引 1 2 处并删除旧引用 是否有一种更快的方法来处理重新排列 而无需在此过程中在列表中创建重复项 使
  • WordPress 标题:如果长度超过 50 个字符,则显示省略号

    我有一个带有标题的 WordPress 网站 如果标题超过 50 个字符 我需要添加省略号 位于标题末尾 并将标题停在 50 个字符处 下面是我正在编写的 PHP 但它似乎无法正常工作 The mb strimwidth http www
  • MeanShift `fit` 与 `fit_predict` scikit learn

    Suppose X是数组的典型形式 给定代码 from sklearn cluster import MeanShift ms MeanShift bin seeding True cluster all False ms fit X 一旦
  • CSS 最小高度 100%,具有多个 div

    好的 我试图让页面显示 100 的视口高度 但问题是页面有多个并不总是嵌套的 div 我一直在浏览多个问题和其他网站 但找不到适合我需要的答案 我目前的布局如下 div class container div class header di
  • 如何将 java.util.logging 重定向到文件?

    我有一个使用外部库的java程序 主程序使用log4j记录其消息并且库使用java util logging 我的问题是来自外部库和主程序的日志消息混合在控制台中 我想重定向all将来自外部库的消息记录到文件中 我尝试这样做logging
  • 如何在 Mac OSX 10.6 上卸载 wxpython 2.8

    在继续之前 我的机器和已安装的软件包的一些详细信息 Mac OSX 版本 10 6 6 Python版本 Activestate Python 2 7 1 wxpython 版本 wxpython 2 8 使用Carbon API 因此仅限
  • ListView完全不如RecyclerView吗?

    因此 Vogella 似乎表明与 RecyclerView 相比 ListView 已完全被弃用 实际上并不是已弃用 而是在任何情况下 ListView 都是更好的选择 这是真的 公共软件书籍表明它的更新速度可能会更快 还有其他理由从现在开
  • Contentpresenter 和 ContentControl 中 FontSize 未继承的解决方法

    尝试创建可以托管其他控件的 UserControl 以下是相关代码
  • YANG:如何在没有键的情况下对嵌套列表配置数据进行建模

    我正在尝试为这个配置文件构建 YANG 模型 该文件具有没有键的列表 然而 由于 YANG 列表中密钥的必要性 我无法构建精确的 YANG 模型 有没有什么想法如何在 YANG 中表示没有键的列表列表 该文件包含acl 其中可以有很多acl
  • 分层数据库选择/插入语句 (SQL Server)

    我最近偶然发现一个问题 从一个表中选择关系详细信息并插入到另一个表中 我希望有人可以提供帮助 我有一个表结构如下 ID PK Name ParentID br 1 Myname 0 br 2 nametwo 1 br 3 namethree
  • 如何修复错误:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException:

    我在 Eclipse 中有一个项目 当我同步项目时 我导出到 gradle 项目并在 Android Studio 中打开 错误 java util concurrent ExecutionException com android ide
  • Rstudio服务器安装el Capitan

    大约一年前 我曾经在我的 Mac 上运行 rstudio 服务器 不过我用的不多所以就删掉了 但是 现在我需要重新设置它 与此同时 我已更改为 el Capitan 以及有关的说明https iangow wordpress com 201
  • 将部分日期存储在数据库中

    我想将部分日期存储在关系数据库 MySQL PostgreSQL 等 中 例如 输入可能只是年份 2013 年和月 2013 08 或年 月 日 2013 08 29 我不能只使用普通的 DATE 类型 因为年份将扩展到 2013 01 0
  • 如何配置 Visual Studio 2017 来运行 Gstreamer 教程?

    我使用的是 Windows 10 我无法配置 Visual Studio 2017 来运行基本的 Gstreamer 教程 我收到诸如 无法打开 gst gst h 之类的错误 我正在使用 gstreamer 1 0 请帮忙 朋友你好 首先
  • XML 文档中需要转义哪些字符?

    XML 文档中必须转义哪些字符 或者在哪里可以找到这样的列表 如果您使用适当的类或库 他们将为您进行转义 许多 XML 问题都是由字符串连接引起的 XML 转义字符 只有五个 quot apos lt lt gt gt amp 转义字符取决
  • 如何判断 Windows 用于启动哪个磁盘

    我需要找到一种方法来以编程方式确定 Windows 使用哪个磁盘驱动器启动 换句话说 我需要一种从 Windows 中确定 BIOS 使用哪个驱动器来启动整个系统的方法 Windows 是否公开了一个接口来发现这一点 鉴于 Windows
  • C# 中的解析器 FxCop 结果 Xml 文件

    我以编程方式使用VS2010和Fxcop 10 0 fxcopcmd exe 来生成fxcop分析结果 xml文件 我想要解析器 xml 文件来获取 fxcop 分析结果 在java语言中我发现了这个 http grepcode com f
  • 使用react-router-relay类型增强react-router模块

    默认的react router是这样使用的 import as React from react import Router Route hashHistory from react router const routing