如何在 flutter-web 应用程序中嵌入 React 页面或组件?

问题描述 投票:0回答:1

我想在 flutter-for-web 应用程序中嵌入一个非托管的 React 页面(或者带有一些奇特的第三方图形库的 React 组件)。为什么?我认为我拥有的 React 图应用程序比我在 Flutter 中可以做的要好得多(使用现有的第 3 方包),因此如果我可以将 React 内容嵌入到 Flutter-for Web 应用程序中,这可能会很好,直到我可以在 flutter 中做我已经在 React 中做的事情。

有一个 flutter 包(flutter_inappwebview)可以为移动设备执行此操作,但我需要为网络应用程序执行此操作。我也需要在 React 和 Flutter 之间来回传递数据,因此,例如 React 图将从 Flutter 中获取数据(而不是直接从网络或数据库中获取),并在绘制漂亮的图片和一些用户交互之后将能够将数据发送回我的 flutter 代码。

这容易吗?已经在另一个我还没有找到的包中完成了?我知道我可以与 javascript 进行互操作,但仅使用 @JS 与 React 包交互(可能还有一些 redux 或另一个基本状态管理)解决方案听起来可能是一项棘手的工作。

谢谢

reactjs flutter-web
1个回答
0
投票

我正在尝试解决类似的问题,我需要在 Flutter 应用程序中嵌入 React Native 组件(以便与合作伙伴公司更好地集成)。 我还没有尝试过,但从技术上讲,以下应该可行:

将react-native模块托管到云(最好是cdn),这样如果浏览器点击组件的URL,它就能够下载并显示react-native模块(就像托管任何Web应用程序一样)。 然后在 Flutter 应用程序中,无论您需要在何处显示 React-Native 组件,都渲染一个 WebView 以加载托管的 ReactNative 模块的 URL。 您可以在 ReactNative 应用程序中使用相同的 ReactNative 模块(通过 webpack 的模块联合运行时加载)。

我还没有研究 Flutter 的 webview 产品的跨平台“能力”,但我相信它应该适用于 Flutter Mobile 和 Flutter Web(可能只是在 Web 上渲染 iFrame)。

在 Flutter Web 上渲染 ReactNative 组件的另一种方法是将 RN 组件作为 Web 组件提供服务,然后将它们作为 html 标签加载到 Flutter Web 中(如果可能)。

© www.soinside.com 2019 - 2024. All rights reserved.