【发布时间】:2018-08-08 00:59:35
【问题描述】:
我正在寻找一种解决方案,以根据用户的操作系统有条件地呈现 React 内容。
例如。我有一个简单的组件,它显示键盘快捷键以与我正在使用的另一个组件进行交互。在这种情况下,Windows 和 Linux 的键盘快捷键旨在显示 ctrl + [action]。但是对于MacOS,它需要显示cmd + [action]。
这是我的组件:
import React from 'react';
import { ShortcutsContainer, MetaRow } from '../../styles';
const Shortcuts = () => (
<ShortcutsContainer>
<h1>Keyboard Shortcuts</h1>
<MetaRow>
<strong>ctrl + click</strong>
<span> to start editing value</span>
</MetaRow>
<MetaRow>
<strong>ctrl + Enter</strong>
<span> to submit changes</span>
</MetaRow>
<MetaRow>
<strong>Escape</strong>
<span> to cancel editing</span>
</MetaRow>
</ShortcutsContainer>
);
export default Shortcuts;
让我们从 <strong>ctrl + click</strong> 那里获取。
我想要的是这样的:
<strong>{getUserOS() === 'MacOS' ? 'cmd' : 'ctrl'} + click</strong>
我将如何做到这一点?一直在努力寻找获取用户操作系统的方法。
【问题讨论】:
-
所以,真正的问题似乎是:如何使用 Javascript 检测用户操作系统?你可以在这里查看一些答案:stackoverflow.com/questions/9514179/…
-
是的,你是对的@MiguelCalderón,谢谢!
标签: reactjs operating-system conditional-rendering