V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
ChefIsAwesome
V2EX  ›  分享创造

给大家介绍一下 rce,我创作的 react 架构。

  •  
  •   ChefIsAwesome · 2018-04-19 11:08:03 +08:00 · 2763 次点击
    这是一个创建于 2447 天前的主题,其中的信息可能已经有所发展或是发生改变。

    github 地址

    rce 代表 react, data cursor, elm。是一个轻量级的 react 架构。它有以下几个特点:

    • 它是一个 react 架构。仅有两个 api。设计思路与 react 一致。会 react 就能快速上手 rce。
    • 它利用数据指针,让组件的 model(state) 和 model management 存在与组件中,但又能享受不同组件共享 model 带来的好处。
    • 受 elm 启发。将组件的 initial model,组件 model 的 update,组件的 render,分为 init,update,view 三个清晰的部分。

    这个架构已经在过去一两年里的很多中大型项目里使用了,目前算比较完善。所以推荐给大家试试。 还有一个配套的 material design 的 ui 组件库(随便打个账号密码就可以登录进去)。待文档写完之后也会分享给大家。

    第 1 条附言  ·  2018-04-19 13:06:47 +08:00
    跟同是借鉴 elm 的 redux 比较起来:
    redux 是 pull based。组件自己注册数据和数据更新的方法,然后再自己去取。
    rce 是 push based,跟正常的 react 思维一样,数据由上至下以 prop 形式传递。数据更新的方法写在组件自己内部。
    第 2 条附言  ·  2018-04-27 08:33:19 +08:00
    一步步教程搞定了。大家看看。https://github.com/blackChef/rce/blob/master/tutorial/01.md
    6 条回复    2018-04-26 21:49:37 +08:00
    Quarter
        1
    Quarter  
       2018-04-19 11:30:07 +08:00 via iPhone   ❤️ 1
    兹持一下☺️
    tanszhe
        2
    tanszhe  
       2018-04-19 11:49:13 +08:00   ❤️ 1
    支持,看了那几个 demo 感觉是不是把事情复制化了。多简单的事搞的那么复杂。
    ChefIsAwesome
        3
    ChefIsAwesome  
    OP
       2018-04-19 11:56:39 +08:00 via Android
    @tanszhe 去掉注释都没几行代码吧。跟直接 react 写没什么区别。
    aice114
        4
    aice114  
       2018-04-19 12:11:51 +08:00 via Android
    观摩观摩
    yzhen123
        5
    yzhen123  
       2018-04-26 21:49:11 +08:00
    支持一个,最近也弄了个可以取代 Redux 并且支持 React 的 类 Elm 框架,https://github.com/hydux/hydux 已经支持 ssr 和 code-splitting, 最近在看能不能同时支持 ssr 和 code splitting.
    yzhen123
        6
    yzhen123  
       2018-04-26 21:49:37 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1105 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 23:01 · PVG 07:01 · LAX 15:01 · JFK 18:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.