爱意满满的作品展示区。
xcodebuild

小程序也可以写 React Hooks

  •  2
     
  •   xcodebuild ·
    xcodebuild · Jan 14, 2019 · 5347 views
    This topic created in 2857 days ago, the information mentioned may be changed or developed.

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

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

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

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

    img

    17 replies  •  2019-01-17 11:25:57 +08:00
    CodingPuppy
    CodingPuppy
    Jan 14, 2019 via Android
    1
    支持
    jeremaihloo
    jeremaihloo
    Jan 14, 2019
    2
    支持
    7sDream
    7sDream
    Jan 14, 2019
    3
    老哥牛皮呀。最近正好想试下小程序是怎么开发的。

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

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