javascript - 最佳实践 : react components on mobile version of site

标签 javascript reactjs

我想要一些有关 React 组件使用的建议/意见。

当网站的桌面版和移动版(不是应用程序)面临两种不同的设计时,您是否使用相同的组件并使用媒体查询或 JavaScript 窗口大小等修改各个部分,或者您是否在需要时创建不同的组件如果是移动网站,渲染效果会有所不同吗?

您使用过的任何策略以及您的经验/意见都会有很大帮助。许多不同的人将不胜感激!

谢谢!

最佳答案

我会使用响应式设计的网络标准和 Bootstrap 或基础等库。除非您针对不同的平台(例如 native 与网络),否则无需编写不同的 View 。这将节省您的时间和精力,因为您从编写不同的组件中获得的 yield 并不大。

也就是说,如果某些特定页面需要使用完全不同的 UI 来提供更好的服务,您可以将两者混合使用。简单地创建两个包含大量文本的主页没有任何优势,这个问题已经通过响应式设计实践解决了,不利用它们就是一种倒退。

还要尽可能地利用组件重用。如果桌面共享 5/6 功能,则以某种方式编写 5,它们可以以不同的方式缩放以进行粉碎并编写 6 的两个版本。

我不会说这两个选项是相互排斥的。尽可能利用响应式设计实践,并尽可能利用 React 的组件化。如果您发现自己不确定该走哪条路,则可能意味着使用响应式设计(恕我直言)。

我设计的应用程序的目标是真正不同的平台。我们希望 native 和网络并存。您正在寻找的是一个中间立场,因为许多组件可能会共享,但少数组件可能需要不同的功能,从而需要不同的组件。我见过两种应用程序结构,一种按类型(例如组件与容器)组织应用程序,另一种根据页面结构(索引、帐户、登录、共享)组织代码。我发现,当需要混合完成相同功能但针对不同平台的组件时,最好按页面结构分开,就像在索引页面中一样,我可以在需要时简单地并排放置一个 iOS 索引和一个 Web 索引。这使我能够拥有两个无状态组件和一个阶段容器来为它们提供动力。对于较大的应用程序来说,这在心理上也更有意义,并允许您做更多您想做的事情。

总的来说,如果您需要使用 if 语句来隐藏和显示功能,请考虑将其分解为可重用的组件,并创建由单状态完整组件提供支持的移动和桌面演示组件。

关于javascript - 最佳实践 : react components on mobile version of site,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42122255/

相关文章:

javascript - 使用 React Router v4.1 的分页问题

javascript - setState 自动调用 React 中的另一个方法

javascript - 元素上抛出类型错误

node.js - Amazon S3 - 无法加载资源 : the server responded with a status of 403 (Forbidden)

javascript - 单击 $(document) 时如何使用 jquery 隐藏/关闭 div?

javascript - 在一定时间后停止倒计时器

javascript - D3js 碰撞在一段时间后停止工作

reactjs - 如何使用带有点 "."的输入名称的 Formik ?

通过 SSL 在 IE 中未定义的 JavaScript key

javascript - Junior Mobile FW - 从 html 加载 View