2.0.10 • Published 2 years ago

slox v2.0.10

Weekly downloads
-
License
-
Repository
-
Last release
2 years ago

SLOX

基于React的轻量的路由管理模块,具备组件式中间件能力。

Install

$ npm i slox

Usage

创建一个应用服务.

const { bootstrap, createNotFoundComponent } = createServer(document.getElementById('root'));

createNotFoundComponent(request => {
  return <div>not found: {request.pathname}</div>
})

bootstrap('popstate');

createServer(element: HTMLElement, components?: TComponent[])

创建服务

Arguments:

  • element 节点
  • components 组件数组:必须为IOC组件,同时必须携带controller注解

ReturnValue:

  • bootstrap: (mode: 'hashchange' | 'popstate') => () => void 启动服务,并且返回一个卸载服务的方法
  • createRoute: (url, ...components: React.FunctionComponent[]) => () => void 注册路由,以及使用路由组件式中间件。返回一个卸载路由的方法。
  • createNotFoundComponent: (component: (props: React.PropsWithChildren<TRequest>) => React.ReactElement) => void 注册找不到路由的页面

Componet

采用一切皆组件的思想来完成组件操作

@Component

@Component()
class hhh {
  render(props: React.PropsWithChildren<TRequest>) {
    return <div>
      <h2>this is hhhh</h2>
      {props.children}
    </div>
  }
}

@Service

@Service()
class sevice {
  sum(a: number, b: number) {
    return a + b;
  }
}

@Controller

@Component()
@Controller('/')
class test {
  @inject(sevice) private readonly service: sevice;
  render(props: React.PropsWithChildren<TRequest>) {
    const value = this.service.sum(9, 23);
    return <div onClick={() => redirect('/api/33')}>{props.href} - {value}</div>
  }
}

@Middleware

@Component()
@Controller('/')
@Middleware(abc)
@Middleware(hhh)
class test {
  @inject(sevice) private readonly service: sevice;
  render(props: React.PropsWithChildren<TRequest>) {
    const value = this.service.sum(9, 23);
    return <div onClick={() => redirect('/api/33')}>{props.href} - {value}</div>
  }
}
2.0.9

2 years ago

2.0.10

2 years ago

2.0.3

3 years ago

2.0.5

3 years ago

2.0.4

3 years ago

2.0.7

3 years ago

2.0.6

3 years ago

2.0.8

3 years ago

2.0.2

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

1.0.22

3 years ago

1.0.23

3 years ago

1.0.21

3 years ago

1.0.20

3 years ago

1.0.19

3 years ago

1.0.18

3 years ago

1.0.16

3 years ago

1.0.9

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.15

3 years ago

1.0.14

3 years ago

1.0.13

3 years ago

1.0.12

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago