【问题标题】:Electron+React deep linkElectron+React 深度链接
【发布时间】:2021-05-30 19:39:42
【问题描述】:

我在 Electron + React 应用程序上工作(当然使用 react-router),并且应该在那里实现深度链接。我几乎处理了这个任务,但是我无法从 React 中的深层链接获取参数。我已经阅读了这篇文章Open app and pass parameters with deep linking using Electron (macOS),并且我在电子文件中获得了参数。但我不知道如何在反应代码中获取此链接数据。如果有人可以提供帮助,我将不胜感激。谢谢

【问题讨论】:

    标签: reactjs electron deep-linking


    【解决方案1】:

    要将数据从主进程发送到渲染器进程(渲染 React 代码的窗口),您需要使用 contents.send(channel, ...args)

    对于您的情况,对于 macOS,通信看起来像这样

    // Protocol handler for macOS
    app.on('open-url', (event, url) => {
      event.preventDefault()
    
      // send url data to React process
      reactBrowserWindow.webContents.send('testChannel', url)
    })
    

    在 React 代码内部(需要启用节点集成,或者此代码应该在预加载脚本中)

    const { ipcRenderer } = require("electron")
    
    ipcRenderer.on('testChannel', (event, url) => {
      console.log(url)
    })
    

    【讨论】:

    • 非常感谢!你让我开心!
    猜你喜欢
    • 2017-01-10
    • 2021-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-25
    • 1970-01-01
    • 2017-09-18
    • 1970-01-01
    相关资源
    最近更新 更多