From f905616e26f99a47ebda0ea9c64d6a1e582de8a5 Mon Sep 17 00:00:00 2001 From: nikogu <644506165@qq.com> Date: Mon, 5 Sep 2016 16:29:38 +0800 Subject: [PATCH] add dva declaration --- dva/dva-tests.tsx | 46 ++++++++++++++++++++++++++++++++++++++++++++++ dva/dva.d.ts | 45 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 dva/dva-tests.tsx create mode 100644 dva/dva.d.ts diff --git a/dva/dva-tests.tsx b/dva/dva-tests.tsx new file mode 100644 index 0000000000..079e0eea81 --- /dev/null +++ b/dva/dva-tests.tsx @@ -0,0 +1,46 @@ +// +// + +import dva from 'dva'; +import { connect } from 'dva'; +import { Router, Route } from 'dva/router'; + +// 1. Initialize +const app = dva(); + +// 2. Model +app.model({ + namespace: 'count', + state: 0, + reducers: { + add (count) { + return count + 1 + }, + minus(count) { + return count - 1 + }, + }, +}); + +// 3. View +const App = connect(({ count }) => ({ + count +}))(function (props) { + return ( +
+

{ props.count }

+ + +
+ ); +}); + +// 4. Router +app.router(({ history }) => + + + +); + +// 5. Start +const countApp = app.start(); diff --git a/dva/dva.d.ts b/dva/dva.d.ts new file mode 100644 index 0000000000..ffaa618785 --- /dev/null +++ b/dva/dva.d.ts @@ -0,0 +1,45 @@ +// Type definitions for dva v1.0.0 +// Project: https://github.com/dvajs/dva +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +declare module 'dva' { + /** connecting Container Components */ + export function connect(maps):Function; + + export default function dva(opts?:Object):{ + + /** dva plugin */ + use: (hooks:Object)=>void, + + /** dva bootstrap */ + start: (selector?:Object)=>void, + + /** dva add model */ + model: (model:Object)=>void, + + /** dva setting router */ + router: (router)=>void, + }; +} + +/** + * https://github.com/reactjs/react-router + */ +declare module 'dva/router' { + export class Router {} + export class Route {} +} + +/** + * https://github.com/reactjs/react-router-redux + */ +declare module 'dva/routerRedux' { + export default Object; +} + +/** + * https://github.com/fis-components/whatwg-fetch + */ +declare module 'dva/fetch' { + export default Function; +}