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

小程序也可以写 React Hooks

  •  2
     
  •   xcodebuild ·
    xcodebuild · 2019-01-14 10:47:59 +08:00 · 4073 次点击
    这是一个创建于 2170 天前的主题,其中的信息可能已经有所发展或是发生改变。

    原文地址在:https://zhuanlan.zhihu.com/p/54795961

    步入 9201 年所以一时心血来潮想写个小程序玩一玩,但是开发过程中发现各种难受,于是看了一下现有的各种方案。最后还是决定把 React.js 直接搬到小程序里面运行。

    和 taro 等方案不同的是,这个方案运行的是真正的 React.js 和真正意义上的 JSX,意味着你在书写 JSX 的时候不会有各种奇怪的限制,也完全可以使用 React Hooks.

    项目地址:https://github.com/CodeFalling/remax

    img

    17 条回复    2019-01-17 11:25:57 +08:00
    CodingPuppy
        1
    CodingPuppy  
       2019-01-14 11:06:39 +08:00 via Android
    支持
    jeremaihloo
        2
    jeremaihloo  
       2019-01-14 11:09:10 +08:00
    支持
    7sDream
        3
    7sDream  
       2019-01-14 11:20:48 +08:00
    老哥牛皮呀。最近正好想试下小程序是怎么开发的。

    Emmm,不过我不会前端,让我先学学 React 再来用这个试试。
    xcodebuild
        4
    xcodebuild  
    OP
       2019-01-14 11:25:53 +08:00
    @7sDream 先学习一下 ES + Babel + Webpack + React + JSX + Redux + ... :doge
    ilumer
        5
    ilumer  
       2019-01-14 11:54:30 +08:00
    支持搞个大新闻
    walter211
        6
    walter211  
       2019-01-14 12:33:07 +08:00
    碉堡了
    helsonxiao
        7
    helsonxiao  
       2019-01-14 12:42:42 +08:00 via Android
    资瓷
    Geeker
        8
    Geeker  
       2019-01-14 12:48:45 +08:00
    蛇神还是 6,我前两天用了下 taro,最后放弃还是写原生小程序了。
    xcodebuild
        9
    xcodebuild  
    OP
       2019-01-14 12:53:22 +08:00
    @Geeker 因为把 JSX 当模板写这个思路很怪异,说来小程序还不如一开始就支持用 React 或者 Vue 写,现在的原生写法太难受了
    isbase
        10
    isbase  
       2019-01-14 17:30:58 +08:00   ❤️ 1
    大概试用了下,很不错,实现自定义 react renderer 才是王道,

    现有的各种小程序框架实在太过蹩脚
    pkm
        11
    pkm  
       2019-01-14 17:49:28 +08:00
    赞~
    xcodebuild
        12
    xcodebuild  
    OP
       2019-01-14 18:36:19 +08:00 via iPhone
    @isbase 唉说到底还是小程序自己非要搞事情,想隔离渲染线程直接用 react-worker 类似的方案不就行了,非要强行割裂一个平台出来
    wobuhuicode
        13
    wobuhuicode  
       2019-01-14 19:38:02 +08:00
    @codefalling 小程序的逻辑在原生 IOS 开发来说是合理的。JS 运行在 jscore 的 rutime 中,当 OC eval JS 去执行的话,是在主线程执行的,而写在模版的最终渲染到 HTML 去,这里面的渲染逻辑( HTML 内部 JS 的执行逻辑)是非主线程的。
    xcodebuild
        14
    xcodebuild  
    OP
       2019-01-14 19:40:17 +08:00 via iPhone
    @wobuhuicode react-worker 就满足这样的条件
    wobuhuicode
        15
    wobuhuicode  
       2019-01-14 19:47:46 +08:00 via iPhone   ❤️ 1
    @codefalling 从线程来说或许可以这样。不过从小程序最初的架构来说,每一个页面都是一个新的 viewController 创建的 webview。如果按照传统的 web 页面开发,其中的逻辑肯定会被隔离。为了保持开发的时候逻辑的一致,我们写的 js 代码是会由一个独立的 jsCore 去运行
    Sparetire
        16
    Sparetire  
       2019-01-15 03:09:05 +08:00 via Android
    大佬。。
    ql9075
        17
    ql9075  
       2019-01-17 11:25:57 +08:00
    666
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3975 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 10:19 · PVG 18:19 · LAX 02:19 · JFK 05:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.