diff --git a/dva/dva-tests.tsx b/dva/dva-tests.tsx index 079e0eea81..917ee69e60 100644 --- a/dva/dva-tests.tsx +++ b/dva/dva-tests.tsx @@ -1,5 +1,7 @@ -// -// +/// +/// + +import React = __React; import dva from 'dva'; import { connect } from 'dva'; @@ -13,10 +15,10 @@ app.model({ namespace: 'count', state: 0, reducers: { - add (count) { + add(count: number) { return count + 1 }, - minus(count) { + minus(count: number) { return count - 1 }, }, @@ -25,12 +27,12 @@ app.model({ // 3. View const App = connect(({ count }) => ({ count -}))(function (props) { +}))(function ({ count, dispatch }) { return (
-

{ props.count }

- - +

{ count }

+ +
); }); diff --git a/dva/dva.d.ts b/dva/dva.d.ts index ffaa618785..b6d7e78248 100644 --- a/dva/dva.d.ts +++ b/dva/dva.d.ts @@ -1,10 +1,12 @@ // Type definitions for dva v1.0.0 // Project: https://github.com/dvajs/dva +// Definitions by: nikogu // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +/// declare module 'dva' { /** connecting Container Components */ - export function connect(maps):Function; + export function connect(maps:Object):Function; export default function dva(opts?:Object):{ @@ -18,7 +20,7 @@ declare module 'dva' { model: (model:Object)=>void, /** dva setting router */ - router: (router)=>void, + router: (router:Object)=>void, }; } @@ -26,8 +28,23 @@ declare module 'dva' { * https://github.com/reactjs/react-router */ declare module 'dva/router' { - export class Router {} - export class Route {} + import React = __React; + + interface RouterProps { + history?: Object + } + export class Router extends React.Component { + render(): JSX.Element + } + + + interface RouteProps { + path?: string, + component?: React.ReactNode + } + export class Route extends React.Component { + render(): JSX.Element + } } /**