【发布时间】:2019-09-07 13:55:39
【问题描述】:
我是一个 React 新手,我正在开发一个最初使用 create-react-app 模块创建的 React 应用程序,我需要它适应移动设备(浏览器)......为此,我面临着一个问题移动版和网页版相同的组件。 我想知道是否有一种方法可以通过仅使用 2 个不同的 JSX 渲染模板并保持相同的代码库来优化两个独立组件的过程。我的意思是根据设备加载特定的 JSX 并将其放在渲染方法中。
任何帮助将不胜感激 提前致谢
【问题讨论】:
-
这当然是可能的,可能是向我们展示一些示例的想法。但是让您的网站具有响应性可以消除这种需求。
-
@Keith 响应式布局与提供特定移动布局不同。当您必须处理复杂的 UI(IE,在 ERP 软件中)时,需要针对移动设备的特定布局。此外,通过正确进行代码拆分,您可以向移动设备提供更轻量级的代码。
-
@MosèRaguzzini 我确信移动特定编码有充分的理由,但在大多数情况下,这不是问题的解决方案。例如,用户不应该因为网页内容而受到惩罚,因为他们在移动设备上,这是糟糕的 UI 设计,不幸的是,这样做太频繁了。有很多网站我最终点击了桌面版本,因为移动端缺少功能/内容,这很糟糕。通过响应式设计,它有助于以不同的方式关注设计,并且不太可能惩罚您的移动用户。
-
@jemlifathi 尝试添加一些代码,所以我可以告诉你怎么做。但也许关闭这个问题并添加一个包含代码/更多信息的新问题。
-
@jemlifathi 是的,MobileUsersCard 和 WebUsersCard 都是同一个组件,一种解决方案可能是将您的逻辑移到组件内部,我的意思是:在父组件中,只需渲染相同的 UsersCard 两次传递给它新的道具,即 isMobile(在一种情况下为真,在另一种情况下为假)和您的 UserCard 组件内部,根据这些道具,您可以呈现不同的东西
标签: javascript reactjs redux react-redux jsx