Mr-haili/aaa-blog

react-router 相关

Opened this issue · 0 comments

静态路由 vs 动态路由
各自的好处与适用范围

提供了一个类型安全的 react-router

https://github.com/AveroLLC/typesafe-react-router
里面声明 route 的方式,也是类似发明了一种 DSL 来描述.

似乎更 trick 一些但是,感觉反而更加的合理?

https://www.type-route.org/

如何:声明 pattern 和 参数类型做到一致的。

import { route, param } from 'typesafe-react-router';

export enum RouteNames {
  HOME = "HOME"
  VIEW_ALL = "VIEW_ALL"
  VIEW_DETAILS = 'VIEW_DETAILS'
}

export const Routes = {
  [RouteNames.HOME]: route('home');
  [RouteNames.VIEW_ALL]: route('view')
  [RouteNames.VIEW_DETAILS]: route('view', param('id'))
}

如果不追求,pattern 和 参数定义的一体化,
我们可以通过泛型的方式传入,然后获取一个 create。


安全的 action 类型
https://www.npmjs.com/package/typesafe-actions#1-basic-actions

看看
http://blog.vavr.io/advanced-typescript-for-java-developers/