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

前端新手:多表单的系统, redux 是 react 最好的选择吗

  •  
  •   Wichine · 2020-04-03 12:11:02 +08:00 · 3287 次点击
    这是一个创建于 1699 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近公司在开新的项目,前端敲定了用 React, 因为系统有大量的表单,所以原生 React 不太够用,现在考察了一圈普遍用的比较多的是 Redux, 但我用了一阵子 Redux, 这个 dispatch - action - reducer 模式,感觉很奇怪,每次 disaptach 全部 reducer 都要过一遍, 而且异步 action 用起来很难把握。请问有更好的 library 可以取代 redux 来解决跨域和大量表单问题吗

    25 条回复    2020-04-13 06:58:24 +08:00
    yuang
        1
    yuang  
       2020-04-03 12:12:51 +08:00 via Android
    Context 申请出战
    crs0910
        2
    crs0910  
       2020-04-03 12:16:33 +08:00
    大量表单和 Redux 有什么联系?
    GDC
        3
    GDC  
       2020-04-03 12:33:09 +08:00 via iPhone
    不知道有啥关系+1…
    LinYa
        4
    LinYa  
       2020-04-03 12:34:24 +08:00 via iPhone
    解决跨域?
    gouflv
        5
    gouflv  
       2020-04-03 12:38:12 +08:00 via iPhone
    redux 已经是历史了
    adjusted
        6
    adjusted  
       2020-04-03 12:39:34 +08:00
    其实表单编辑的时候不需要同步数据到 redux state
    bnm965321
        7
    bnm965321  
       2020-04-03 12:40:12 +08:00
    表单不用保存状态
    impl
        8
    impl  
       2020-04-03 12:52:58 +08:00 via Android
    还是 angular 好
    Reol
        9
    Reol  
       2020-04-03 12:53:36 +08:00
    同不知道大量表单和 Redux 的关系+1
    suinia
        10
    suinia  
       2020-04-03 13:06:14 +08:00
    没有关系啊
    大量表单可以看看:formilyjs
    Perry
        11
    Perry  
       2020-04-03 13:07:05 +08:00 via iPhone
    React Hook 不香吗?
    otakustay
        12
    otakustay  
       2020-04-03 15:22:36 +08:00
    redux 从来不是表单的选择,你看看 redux-form 自己是个啥状态
    murmur
        13
    murmur  
       2020-04-03 15:26:57 +08:00
    表单多不需要状态,需要的是 vue,先解决没有官方 if 和 for 的痛点
    toma77
        14
    toma77  
       2020-04-03 15:36:46 +08:00
    mobx 可以一战
    fxy739371
        15
    fxy739371  
       2020-04-03 15:38:00 +08:00
    rematch
    mxT52CRuqR6o5
        16
    mxT52CRuqR6o5  
       2020-04-03 15:42:23 +08:00 via Android
    你的表单是指可以填写的表单吗?如果是的话可以看看 rc-form
    mxT52CRuqR6o5
        17
    mxT52CRuqR6o5  
       2020-04-03 15:43:57 +08:00 via Android
    异步的问题可以看看 redux-thunk/redux-saga 或其他 redux 中间件 /redux 封装
    jruit
        18
    jruit  
       2020-04-03 15:46:04 +08:00
    这个要根据表单的复杂度来定。表单本身其实用 vue 这样的双向绑定框架处理起来方便。但若表单特别复杂,涉及到多级组件传参,这个时候需要用状态管理库来解决。
    newdongyuwei
        19
    newdongyuwei  
       2020-04-03 19:41:39 +08:00
    之前用过 redux-form,性能比较差。redux 太啰嗦,状态管理推荐试试 mobx,反正我们用了 mobx 再也不想 redux 。
    LeeeeeeezQ
        20
    LeeeeeeezQ  
       2020-04-03 20:09:09 +08:00
    seki
        21
    seki  
       2020-04-03 20:20:33 +08:00
    好奇跨域是怎么能用 redux 解决的?

    你先说说你的表单需求有什么吧,没有必要一定用 redux,但是需要先了解你的需求是什么
    dcatfly
        22
    dcatfly  
       2020-04-03 21:29:12 +08:00
    跨域跟 redux 没有关系,解决异步可以用 redux-thunk/redux-saga,另外如果用 redux 推荐 redux-toolkit.
    表单状态不建议跟 redux 关联起来,如果没用其它框架推荐 formik 处理表单问题。
    Wichine
        23
    Wichine  
    OP
       2020-04-04 10:06:00 +08:00
    @crs0910
    @GDC
    @Reol

    可能没说清楚, 是打算用 reudx + redux-form 来着
    Wichine
        24
    Wichine  
    OP
       2020-04-04 10:16:44 +08:00
    @seki

    是一个金融类的管理员操作系统,有几十个不同模块去修改各种产品的状态和交易状态,每个模块涉及的数据都不同,最多的业务逻辑是在对用户输入信息的比较,计算,校验,分析,转化等。因为对 React 还不太熟,就感觉大量表单处理不好搞,就看上 Redux + Redux-form
    mandoon
        25
    mandoon  
       2020-04-13 06:58:24 +08:00 via iPhone
    我是 react 前端,现在在做大批量表单系统,用的 formik,hooks,redux,组合。usestate 父容器,套个 hooks hoc 作为同意表单 ui,然后 formik 作为 container 封装层,再分发表单 ui 。redux 作为不同表之间业务逻辑的桥梁。基本满足需求。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3579 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 10:52 · PVG 18:52 · LAX 02:52 · JFK 05:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.