aapeli
V2EX  ›  Node.js

一个关于 Electron + React 的问题咨询

  •  
  •   aapeli · Jul 25, 2023 · 3699 views
    This topic created in 1203 days ago, the information mentioned may be changed or developed.
    Electron + React 渲染进程和主进程如何使用 redux 共享状态? 有没有啥方案或者包推荐的?
    13 replies  •  2023-07-25 12:26:11 +08:00
    lsk569937453
    lsk569937453
    Jul 25, 2023
    1
    后端小白问下:

    react 都有 hooks 了还需要用 redux 做什么用?

    因为有一次我问我的前端同学用什么做状态管理,他说用 react hooks 就够了。。。。
    zhuangpipi
    zhuangpipi
    Jul 25, 2023
    2
    很短暂的用过一段时间,考虑一下状态放主进程,然后自己封装一下和主进程通讯的方法用?
    leuction
    leuction
    Jul 25, 2023❤️1
    3
    @lsk569937453 没有什么用,现在用 redux 主要还是历史遗留问题,除非你的状态过于复杂或者需要回放等功能,其他情况下根本不需要 redux
    jchnxu
    jchnxu
    Jul 25, 2023
    4
    监听主进程的里面的状态对象,感觉是可行的
    xianyu191031
    xianyu191031
    Jul 25, 2023
    5
    把渲染进程同步主进程状态的行为理解成跟 web 开发中的异步后端调用就好了
    yuyue001
    yuyue001
    Jul 25, 2023
    6
    印象中,这两个线程是独立的。不能直接共享数据。
    但是 electron 提供了通信方式。你看看这个
    进程间通信 https://www.electronjs.org/zh/docs/latest/tutorial/ipc
    cF06myaQ57WHKMBv
    cF06myaQ57WHKMBv
    Jul 25, 2023
    7
    主进程和渲染进程是隔离的,主进程是 node 环境,渲染进程是 web ,共享状态还是要靠进程间通讯来实现
    leohxj
    leohxj
    Jul 25, 2023
    8
    otakustay
    otakustay
    Jul 25, 2023
    9
    你把主进程理解成后端,Electron 内部还是个前后端分离的系统,自然没有共享状态这事了,只是通信相比 HTTP 快很多
    ChefIsAwesome
    ChefIsAwesome
    Jul 25, 2023
    10
    你就当做普通 web 开发,前后端分离,ipc 通讯就是调 api 。不要想着在一端就能搞定所有的。
    lokitangl
    lokitangl
    Jul 25, 2023
    11
    我们之前的项目,直接搞了个 middleware ,每次 action 把 redux 状态通过 IPC 传到主进程里
    这么干其实没必要,浪费资源
    实际上只需要把需要用到的数据传到主进程就可以了
    RealJacob
    RealJacob
    Jul 25, 2023
    12
    @lsk569937453 复杂状态管理个人认为还是 redux 更方便,尤其是一些基于 redux 封装的包。(可能也是遗留的使用习惯问题)。但是确实 context 和 reducer 可以解决大部分状态管理的问题
    owen800q
    owen800q
    Jul 25, 2023
    13
    eletronAPI
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2130 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 04:22 · PVG 12:22 · LAX 20:22 · JFK 23:22
    ♥ Do have faith in what you're doing.