zhangyuang / ssr

A most advanced ssr framework support React17/React18/Vue2/Vue3 on Earth that implemented serverless-side render specification.
http://doc.ssr-fc.com/
MIT License
2.59k stars 283 forks source link

后续会考虑支持嵌套路由吗? #277

Closed WadeZhu closed 1 year ago

WadeZhu commented 1 year ago

详细描述你的问题

后续会考虑支持嵌套路由吗?

zhangyuang commented 1 year ago

不考虑支持,翻过去的issue在业务代码中完全可以自行实现嵌套路由的功能

WadeZhu commented 1 year ago

过去的issue中推荐用react-router-config来自行实现,请问在vue3的项目中有什么库推荐用来自行实现嵌套路由吗?

zhangyuang commented 1 year ago

没推荐过用react-router-config实现啊…我一直说的都是不需要第三方库纯业务代码实现

WadeZhu commented 1 year ago

尝试了自己写route.ts 加了个children

image image

但是报错

image

问题和这个issue提出的https://github.com/zhangyuang/ssr/issues/102 一样

image

findRoute查不到children导致解构赋值报错

纯代码实现嵌套路由是指这样做吗?

zhangyuang commented 1 year ago

选项一给他配置fetch 选项二嵌套路由本质就是url映射到组件。使用render.vue纯业务代码就能实现,无需任何框架层面的支持

zhangyuang commented 1 year ago

哦不对 这里find的时候不会去查询children,所以直接用选项二

WadeZhu commented 1 year ago

选项一,可以再加一个一级路由上面加个fetch

WadeZhu commented 1 year ago
image
zhangyuang commented 1 year ago

你能跑通就行虽然我觉得完全没有必要依赖vue框架的这种写法来实现嵌套路由功能。只在vue文件里很轻易的就能实现

WadeZhu commented 1 year ago

选项二

image

像这种效果,是要每个url对应的组件都引入一个user组件再写对应组件逻辑吗?还有怎么做到页面无刷新切换profile和post

zhangyuang commented 1 year ago

在 johny/*对应的组件中使用component:is动态加载children组件

WadeZhu commented 1 year ago

profile下面再有嵌套路由的话就很难维护这个根据url选择对应组件来渲染的逻辑了,而且模块懒加载也很难做

zhangyuang commented 1 year ago

难不难维护完全取决于你代码怎么抽象。 懒加载用promise的形式导入就行了

zhangyuang commented 1 year ago

尝试了一下,在Vue场景下框架层支持嵌套路由能力不难实现,所以这里在框架层支持了vue场景下的嵌套路由

zhangyuang commented 1 year ago

http://doc.ssr-fc.com/docs/features$feRoutes#%E6%89%8B%E5%8A%A8%E7%BC%96%E5%86%99%E5%B5%8C%E5%A5%97%E8%B7%AF%E7%94%B1

image