2016-12-12 15 views
14

デフォルトは反応し、ルータは、次のような使用されている:私は「反応し、ルータリレー」ライブラリが含まれている場合増補反応し、ルータモジュールを反応させ、ルータ中継タイピングで

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

const routing = (
    <Router history={hashHistory}> 
     <Route path="/login" component={Login}/> 
    </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> 
}; 

はどのように反応-ルータタイピングを増強については行くだろうか?

私は、最新のビーイングのアプローチの束を試してみた:私はそれの下の名前空間「ルータ」とのインタフェース「RouteProps」を拡張する必要があるとして

import { Router } from 'react-router'; 

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

を。ルータのタイピングを反応させること

リンク:https://www.npmjs.com/package/@types/react-router

リアクト・ルータ中継ライブラリは任意のタイピング自体を持っていません。

アイブ氏は、このトピックについて見つかった情報のすべて:

+1

あなたの反応が反応しない場合は、GHで開いて問題を報告してください。 – Nikos

+1

私は、https://github.com/DefinitelyTyped/DefinitelyTyped/issues/13291 – Peeter

答えて

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

login(component = {Login})はインポートされていません.Hence、常にエラーを返します。

0

は、それが最新の反応-ルータを定義して取り組んでいます。この1

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

を試してみてください。

関連する問題