Reactjs 如何根据用户';s操作系统
我正在寻找一种解决方案,根据用户的操作系统有条件地呈现Reactjs 如何根据用户';s操作系统,reactjs,operating-system,conditional-rendering,Reactjs,Operating System,Conditional Rendering,我正在寻找一种解决方案,根据用户的操作系统有条件地呈现React内容 我有一个简单的组件,可以显示键盘快捷键,与我正在使用的另一个组件进行交互。在这种情况下,Windows和Linux的键盘快捷键用于显示ctrl+[action]。但是对于MacOS它需要显示cmd+[action] 以下是我的组件: import React from 'react'; import { ShortcutsContainer, MetaRow } from '../../styles'; const Sho
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;
从“React”导入React;
从“../../styles”导入{ShortcutsContainer,MetaRow};
常量快捷方式=()=>(
键盘快捷键
ctrl+单击
开始编辑值
ctrl+Enter
提交更改
退出
取消编辑
);
导出默认快捷方式;
让我们从中选择ctrl+click
我想要的是这样的东西:
<strong>{getUserOS() === 'MacOS' ? 'cmd' : 'ctrl'} + click</strong>
{getUserOS()==='MacOS'?'cmd':'ctrl'}+单击
我将如何做到这一点?我们一直在努力找到一种获取用户操作系统的方法。也许我们可以使用模块来实现这一点
只是var platform=require('platform')
it并使用platform.os
获取操作系统。也许我们可以使用模块来实现这一点
window.navigator.platform
只是var platform=require('platform')
it并使用platform.os
获取操作系统
window.navigator.platform
返回为哪个平台编译浏览器
返回编译浏览器的平台好的,多亏@MiguelCalderón推荐我去检查一下vanilla JS解决方案。我检查了一下,得到了一个适用于这个用例的解决方案 我创建了这个简单的小函数:
const cmdOrCtrl = () => (window.navigator.platform.match(/^Mac/) ? 'cmd' : 'ctrl');
然后按如下方式实施:
<strong>{cmdOrCtrl()} + click</strong>
{cmdOrCtrl()}+单击
好的,多亏@miguelcarderón推荐我去查看香草JS解决方案。我检查了一下,得到了一个适用于这个用例的解决方案
我创建了这个简单的小函数:
const cmdOrCtrl = () => (window.navigator.platform.match(/^Mac/) ? 'cmd' : 'ctrl');
然后按如下方式实施:
<strong>{cmdOrCtrl()} + click</strong>
{cmdOrCtrl()}+单击
如果我没弄错你的问题,你会对了解用户的操作系统感兴趣。
你可以用这样的东西
getUserOs= () =>{
return window.navigator.platform;
}
如果我没有弄错你的问题,你会对了解用户的操作系统感兴趣。 你可以用这样的东西
getUserOs= () =>{
return window.navigator.platform;
}
因此,真正的问题似乎是:如何使用Javascript检测用户操作系统?你可以在这里查看一些答案:是的,你是对的@miguelcarderón,谢谢你!因此,真正的问题似乎是:如何使用Javascript检测用户操作系统?你可以在这里查看一些答案:是的,你是对的@miguelcarderón,谢谢你!