首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反应式路由器模块的扩充-路由器-中继类型

反应式路由器模块的扩充-路由器-中继类型
EN

Stack Overflow用户
提问于 2016-12-12 15:04:21
回答 2查看 507关注 0票数 16

默认的react路由器就是这样使用的:

代码语言:javascript
复制
import * as React from 'react';
import { Router, Route, hashHistory } from 'react-router';

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

当我包括“反应-路由器-中继”库,它增加了路由器的功能。也就是说,它向路由器组件(呈现和环境)添加了2个属性:

代码语言:javascript
复制
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>   
};

我该如何加强反应路由器的类型?

我试过很多种方法,最近的一种:

代码语言:javascript
复制
import { Router } from 'react-router';

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

因为我需要扩展名称空间“路由器”和它下面的接口"RouteProps“。

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

反应路由器中继库本身没有任何类型.

我发现的关于这个主题的所有信息:

EN

回答 2

Stack Overflow用户

发布于 2017-09-19 12:21:16

试试这个

代码语言:javascript
复制
declare module 'react-router' { 
   interface RouterProps {
      environment?: any
      render?: any
   } 
}

它正在处理最新的反应路由器定义。

票数 1
EN

Stack Overflow用户

发布于 2017-09-18 12:54:35

代码语言:javascript
复制
<Router history={hashHistory} render={applyRouterMiddleware(useRelay)} environment={Relay.Store}>
    <Route path="/login" component={Login}/>
</Router>   

看起来登录(component={ login })不是Imported.Hence,它总是返回一个错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41103720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档