使用plain javascript with react.js

时间:2015-12-01 15:59:44

标签: javascript reactjs

我正在攻击反应启动器套件,我遇到了问题。我需要javascript从url获取查询字符串并将其显示在文档中。我尝试了以下内容,但是我得到了一个未定义的位置。我怎么能在reacts和javascript中做到这一点?

function getParameterByName(name) {
  name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
  var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
      results = regex.exec(location.search);
  return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

@withStyles(styles)
class PlayerPage extends Component {
  render() {
    const title = 'Player';
    var player = getParameterByName('player');
    return (
      <div className="PlayerPage">
        <div className="PlayerPage-container">
          <h1>{title}</h1>
          <p>{player}</p>
        </div>
      </div>
    );
  }
}

1 个答案:

答案 0 :(得分:0)

问题是,当您的代码在服务器中运行时,将不会定义位置,因为node.js环境不提供位置实现。

您可能希望确保此组件仅在客户端上呈现,或者从服务器中的快速请求中提取路由信息,而不是仅依赖于位置。