【发布时间】: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