Дополните реагирующий маршрутизатор модуль с типами реагирующий маршрутизатор-реле

Реактивный маршрутизатор по умолчанию используется как таковой:

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

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

Когда я включаю библиотеку "response-router-relay", она добавляет функциональность к маршрутизатору. А именно, он добавляет 2 свойства в компонент Router (рендер и окружение):

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
        }
    }
}

Так же мне нужно расширить пространство имен "Маршрутизатор" и интерфейс "RouteProps" под него.

Ссылка на React маршрутизатора набирает: https://www.npmjs.com/package/@types/react-router

Библиотека React-router-relay сама по себе не имеет никаких типов.

Вся информация, которую я нашел по этой теме:

2 ответа

Попробуй это

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

он работает с последними определениями реагирующих маршрутизаторов.

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

Похоже, логин (компонент ={Логин}) не Imported.Hence, он всегда возвращает ошибку.

Другие вопросы по тегам