2.0.10 • Published 2 years ago
slox v2.0.10
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