【问题标题】:Share Component/Logic between React and React-Native在 React 和 React-Native 之间共享组件/逻辑
【发布时间】:2016-03-22 23:02:59
【问题描述】:

我正在尝试创建一个针对 Web 和移动设备的应用程序。这个想法是创建反应组件,它们在渲染方式上有所不同,但共享逻辑。

React v.014 博客文章指出“我们将主要的 react 包分为两个:react 和 react-dom。这为编写可以在 Web 版本的 React 和 React Native 之间共享的组件铺平了道路。 react 包包含 React.createElement、.createClass、.Component、.PropTypes、.Children 以及其他与元素和组件类相关的帮助器。我们将这些视为构建组件所需的同构或通用助手。”

我找到了一个很好的例子 (http://blog.benoitvallon.com/projects/a-mobile-desktop-and-website-app-with-the-same-code/),它使用相同的概念并完成了结果(react-native 0.13.6 和 react 0.14.2)。

在这段代码中,您不会看到任何特别之处,只是一个关于如何扩展 react-native 命名约定系统以包含 Web 版本的聪明想法。当我升级到最新的 react-native 时,它​​抱怨任何使用 react 包中的 React.Component 而不是 react-native 的组件。

这很令人困惑,因为 0.14 版本似乎表明这正是移动 fw 的重点。让 React 创建组件,让 react-dom 处理 DOM,让 react-native 处理 ios/android 视图。

我认为这是一个绝妙的主意,但我似乎无法解决这个特殊问题。任何想法,想法将不胜感激。

谢谢

【问题讨论】:

  • 正如我写的 here,这在 Expo 上是可能的。

标签: reactjs react-native


【解决方案1】:

以这种方式使 react native 工作的过渡正在进行中,但尚未完成。见AMA

我们正在努力停止使用我们的 fork,以便人们可以使用 require('react') 并像 require('react-native') 一样工作,这将使所有第三方插件都可以工作在这两个地方什么都不做。

现在我们不能在没有分叉的情况下在 react-native 的开源版本上使用 relay,这是一个巨大的耻辱,我们正在努力解决这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 1970-01-01
    • 2021-07-16
    • 1970-01-01
    • 2021-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多