Pee*_*ter 15 typescript reactjs relayjs react-router-relay
默认的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>
};
Run Code Online (Sandbox Code Playgroud)
当我包含"react-router-relay"库时,它会为路由器添加功能.即它为路由器组件添加了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>
};
Run Code Online (Sandbox Code Playgroud)
我将如何增加反应路由器的类型?
我尝试过一系列方法,最新的方法是:
import { Router } from 'react-router';
declare module 'react-router' {
namespace Router {
export interface RouterProps {
environment?: any
}
}
}
Run Code Online (Sandbox Code Playgroud)
因为我需要扩展名称空间"Router"和它下面的"RouteProps"接口.
链接到React路由器类型:https://www.npmjs.com/package/@types/react-router
React-router-relay库本身没有任何类型.
我发现的有关此主题的所有信息:
所以问题似乎是反应类型不会导出命名空间,所以不可能增加它们
<Router history={hashHistory} render={applyRouterMiddleware(useRelay)} environment={Relay.Store}>
<Route path="/login" component={Login}/>
</Router>
Run Code Online (Sandbox Code Playgroud)
看起来登录(组件= {Login})没有导入。因此,它总是返回错误。
| 归档时间: |
|
| 查看次数: |
437 次 |
| 最近记录: |