首页 > 解决方案 > React if 语句中的通配符匹配?

问题描述

是否可以在 React if 语句中进行通配符匹配?例如,如果我的 url 包含 localhost 或 production,并且我想要执行以下操作:

  render() {
if (window.commonUI.hostname like '%local%') {
  return (
    // do something
  )
} else if (window.commonUI.hostname like '%prod%') {
    return (
      // do something else
    )
... and so on

这是有效/正确的 React 语法吗?编译代码时出现错误,在 React 中找不到任何对通配符的支持

标签: reactjsif-statementwildcard

解决方案


React if 语句中的通配符匹配?

通配符方法不支持 react 或 Javascript。

更好的是你可以使用

  1. 正则表达式测试
  2. string.indexOf
  3. 字符串.includes

对于您的情况,使用process.env.NODE_ENV变量进行简单验证

render() {
    if (process.env.NODE_ENV == 'development') {
      return (
        // do something
      )
    } else if (process.env.NODE_ENV == 'production') {
      return (
          // do something else
        )
        ....
    }

推荐阅读