V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
AslanFong
V2EX  ›  问与答

react 中 route 和 layout 怎么解耦?

  •  
  •   AslanFong · 2019-03-22 10:59:31 +08:00 · 1588 次点击
    这是一个创建于 2080 天前的主题,其中的信息可能已经有所发展或是发生改变。

    (不是专业前端)

    之前把 route 和 layout 放在一起,layout 里面嵌套了 menu 等,然后把 route 的 link 放在 menu 里面。总感觉这样的写法很复杂,而且不够灵活。看别人写的 route 例子都没有加入 layout 的。

    想请问一下各位专业前端,是否能让 layout 和 route 解耦?或者说我这样想是错的。

    antd+react-router-dom

    谢谢各位了~

    3 条回复    2019-03-22 19:43:54 +08:00
    hxtheone
        1
    hxtheone  
       2019-03-22 11:18:50 +08:00   ❤️ 1
    (同样是非专业前端) 我的做法是把 route 的数据拿出来, 类似这样

    [{ to: '/xxx', icon: 'xxx' }, { to: '/yyy', icon: 'yyy' } ...]

    然后通过一个函数去生成 menu 里面需要的 link, 然后基本上 layout 里的组件就不用动了, 对数据的操作直接针对刚刚那个数组来就行, 也可以简单粗暴放到 redux 里维护
    yuthelloworld
        2
    yuthelloworld  
       2019-03-22 12:02:39 +08:00 via Android   ❤️ 2
    你把 router 当组件就好了,REACT 里万物皆组件
    YuTengjing
        3
    YuTengjing  
       2019-03-22 19:43:54 +08:00 via Android
    就把 router 当做一个根据 location 自动渲染对应视图的动态组建
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1751 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:36 · PVG 00:36 · LAX 08:36 · JFK 11:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.