在 ReactJs 中为组件创建不同的移动布局

2024-03-21

我们如何使用 ReactJs 为组件(具有不同的桌面类型布局)创建完全不同的(移动类型布局)。 (不是 Responsive ,响应式是 css 必须处理的事情。) 组件应该有不同的布局,即这里为桌面屏幕创建一个带有菜单(标题菜单)的页面,该页面成为小屏幕上带有徽标的导航侧边栏。


老实说,一个简单的响应式 CSS 布局可能是最好的解决方案,但步骤是

1)在JS中检测用户是否在移动设备或桌面设备上。例如,这个问题有一个很好的建议作为答案:检测移动浏览器 https://stackoverflow.com/questions/11381673/detecting-a-mobile-browser

2)用它来决定在根组件中使用哪种布局:

function isMobile() {
  // some js way to detect if user is on a mobile device
}

class Root extends Component {
  render() {
    return isMobile() ? ( <MobileLayout /> ) : ( <DesktopLayout /> )
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 ReactJs 中为组件创建不同的移动布局 的相关文章

随机推荐

  • 以“is”为前缀的布尔属性名称仍然是有效的 Java Bean 吗?

    我刚刚注意到一些我不知道的事情 private boolean isCertified public boolean isCertified return isCertified public void setCertified boole
  • 如何最好地避免 C++/CLI 本机类型中的双重转换

    传统上 我一直使用 MFC 扩展 dll 并使用 dllimport dllexport 导入 导出 但是 当 dll 更改为使用 clr 时 此方法的成本会变得很高 因为调用可能会导致双重转换 我现在的性能受到了巨大的打击 需要停止双重重
  • 使用 DOMXml 和 Xpath 更新 XML 条目

    您好 我知道这里有很多关于这三个主题组合在一起更新 XML 条目的问题 但似乎每个人都针对给定的问题 我花了一些时间试图理解 XPath 及其方式 但我仍然无法得到我需要做的事情 开始了 我有这个 XML 文件
  • 如何从 ExtJS 数据存储中获取脏记录?

    除了迭代存储中的记录并检查脏标志之外 还有更干净的方法吗 EDIT 顺便说一句 我正在使用 ExtJS4 这是返回的数据的片段 注意有一个dirty true与modified对象集 实际上是旧数据和data对象包含新数据 data Ext
  • 将工具提示设置为相同的内容

    我试图将数据网格单元格工具提示设置为等于该单元格中 TextBlock 内部的文本 到目前为止我所拥有的是这样的
  • 为什么 Java 支持秒精度的时区偏移?

    在维基百科上 https en wikipedia org wiki ISO 8601 Time offsets from UTC时区偏移被解释为与标准 UTC 时间之间的小时和分钟差异 然而 日期时间格式化程序 https docs or
  • Xcode 4 配置为使用更少的 RAM?

    我一直在尝试在我的 1GB Mac Mini 上使用 Xcode 4 这不是一个令人高兴的情况 它经常变慢 可能是由于内存不足 是否有任何我可以更改的设置 这样它就不会如此占用内存 另一个帖子here https stackoverflow
  • C++ 继承和成员函数指针

    在C 中 成员函数指针可以用来指向派生 甚至基 类成员吗 编辑 也许一个例子会有所帮助 假设我们有一个由三个类组成的层次结构X Y Z按照继承顺序 Y因此有一个基类X和一个派生类Z 现在我们可以定义一个成员函数指针p上课Y 写成 void
  • 空闲后 JVM JIT 去优化

    我使用Java主要是为了编写宠物项目 这些项目大部分时间都是闲置的 闲置数小时 天后 响应时间增加到秒 最多 10 秒 然后慢慢减少到 200 300 毫秒 据我了解 发生这种情况是因为 JIT去优化 https www safariboo
  • typescript - 在路径中包含类型,但不编译它们

    我在打字稿中遇到了问题 我有以下层次结构 types declaration1 ts declaration2 ts common utils1 ts utils2 ts tests utils1 test ts utils2 test t
  • 对方案中的列表进行排序

    如何编写一个排序算法 以升序返回列表 ex 1 3 5 2 9 回报 1 2 3 5 9 大多数Scheme 实现都附带一个对列表进行排序的过程 如果您的实现没有提供这一功能 那么为您提供一个并不困难 下面是快速排序算法的实现 gt def
  • vmap 遍历 jax 中的列表

    使用 jax 我尝试计算每个样本的梯度 处理它们 然后将它们转化为正常形式以计算正常参数更新 我的工作代码看起来像 differentiate per sample jit vmap grad loss in axes None 0 0 g
  • 在编辑模式下使用自定义 UILabels 分组 UITableView

    我有一个分组UITableView用户可以在其中进入编辑模式并从表中删除行 表格的每个单元格有两个UILabels 当表格进入编辑模式时 自定义UILabels向右推并超出单元格的右边界 如果我使用标准cell textLabel 标签调整
  • 如何根据纬度和经度获取两个位置之间的距离?

    我正在尝试根据用户到每个位置的距离显示一个列表 这些位置以 JSON 形式从 Firebase 接收 为了获取用户位置 我正在使用 navigator geolocation getCurrentPosition function posi
  • 在 angularjs $q 中向 Promise 的成功回调传递参数

    我意识到这是一个与此非常相似的问题one https stackoverflow com questions 24963151 passing parameters to promises callback in angularjs 但我仍
  • commons httpclient - 将查询字符串参数添加到 GET/POST 请求

    我正在使用 commons HttpClient 对 Spring servlet 进行 http 调用 我需要在查询字符串中添加一些参数 所以我做了以下事情 HttpRequestBase request new HttpGet url
  • 回复主题 google-api-ruby-client

    下面是我使用 google api ruby client 创建消息的代码 几乎 的样子 service Google Apis GmailV1 GmailService new message RMail Message new mess
  • 使用 Xcode 命令行从 iPhone 下载应用程序的容器

    我开发了一个 iOS 应用程序 该应用程序保存了一些出现在应用程序容器中的日志 我可以使用 Xcode gt 设备 gt 选择应用程序 gt 下载容器菜单选项下载此容器 然后我可以在目录中看到我的日志文件 AppData Documents
  • System.Net.WebException HTTP 状态代码

    有没有一种简单的方法来获取 HTTP 状态代码System Net WebException 也许是这样的 try catch WebException ex if ex Status WebExceptionStatus Protocol
  • 在 ReactJs 中为组件创建不同的移动布局

    我们如何使用 ReactJs 为组件 具有不同的桌面类型布局 创建完全不同的 移动类型布局 不是 Responsive 响应式是 css 必须处理的事情 组件应该有不同的布局 即这里为桌面屏幕创建一个带有菜单 标题菜单 的页面 该页面成为小