你有更好的方法来创建这个if/elseif句子吗? if ((navigator.userAgent.indexOf('Opera') || navigator.userAgent.indexOf('OPR')) != -1) { this.state.isBrowserAllowed = true; } else if (navigator.userAgent.indexOf('Chrome') != -1) { this.state.isBrowserAllowed = true; } else if (navigator.userAgent.indexOf('Safari') != -1) { this.state.isBrowserAllowed = true; } else if (navigator.userAgent.indexOf('Firefox') != -1) { this.state.isBrowserAllowed = true; }
1 回答

慕婉清6462132
TA贡献1804条经验 获得超2个赞
我会改用正则表达式。
this.setState({ ...this.state, isBrowserAllowed: /Opera|OPR|Chrome|Safari|Firefox/.test(navigator.userAgent) });
此外,正如评论所指出的,状态不应在 React 中发生变化 -setState
而是使用。
添加回答
举报
0/150
提交
取消