From 156aee9c2e092b6e06609a05a900d57aa8da4a55 Mon Sep 17 00:00:00 2001 From: Nathan Brown Date: Thu, 25 Feb 2016 16:10:52 -0700 Subject: [PATCH] react-router has a new context type in v2.0.0, so added that. Updated tests. --- react-router/react-router-tests.tsx | 14 ++++++++++++++ react-router/react-router.d.ts | 8 ++++++-- react/react.d.ts | 2 +- 3 files changed, 21 insertions(+), 3 deletions(-) diff --git a/react-router/react-router-tests.tsx b/react-router/react-router-tests.tsx index ab32451a03..a079d49fb0 100644 --- a/react-router/react-router-tests.tsx +++ b/react-router/react-router-tests.tsx @@ -12,6 +12,16 @@ import { browserHistory, hashHistory, Router, Route, IndexRoute, Link } from "re class Master extends React.Component, {}> { + navigate() { + var router = this.context["router"] as ReactRouter.RouterOnContext; + router.push("/users"); + router.push({ + pathname: "/users/12", + query: { modal: true }, + state: { fromDashboard: true } + }); + } + render() { return

Master

@@ -22,6 +32,10 @@ class Master extends React.Component, {}> { } +(Master as React.ComponentClass<{}>).contextTypes = { + router: React.PropTypes.object, +}; + class Dashboard extends React.Component<{}, {}> { diff --git a/react-router/react-router.d.ts b/react-router/react-router.d.ts index abed5eb656..76fd7209d6 100644 --- a/react-router/react-router.d.ts +++ b/react-router/react-router.d.ts @@ -1,6 +1,6 @@ -// Type definitions for react-router v2.0.0-rc5 +// Type definitions for react-router v2.0.0 // Project: https://github.com/rackt/react-router -// Definitions by: Sergey Buturlakin , Yuichi Murata , Václav Ostrožlík +// Definitions by: Sergey Buturlakin , Yuichi Murata , Václav Ostrožlík , Nathan Brown // Definitions: https://github.com/borisyankov/DefinitelyTyped @@ -195,6 +195,10 @@ declare namespace ReactRouter { interface IndexRedirectElement extends React.ReactElement {} const IndexRedirect: IndexRedirect + interface RouterOnContext extends H.History { + setRouteLeaveHook(route: PlainRoute, hook?: RouteHook): () => void; + isActive(pathOrLoc: H.LocationDescriptor, indexOnly?: boolean): boolean; + } /* mixins */ diff --git a/react/react.d.ts b/react/react.d.ts index 5753731b18..f60fba4b10 100644 --- a/react/react.d.ts +++ b/react/react.d.ts @@ -124,7 +124,7 @@ declare namespace __React { render(): JSX.Element; props: P; state: S; - context: {}; + context: { [key: string]: any }; refs: { [key: string]: ReactInstance };