将普通javascript与react.js一起使用

将普通javascript与react.js一起使用,javascript,reactjs,Javascript,Reactjs,我正在破解react初学者工具包,我遇到了一个问题。我需要javascript从url获取查询字符串并在文档中显示它。我尝试了以下操作,但未定义位置。如何在reacts和javascript中实现这一点 function getParameterByName(name) { name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); var regex = new RegExp("[\\?&]" + name + "=([

我正在破解react初学者工具包,我遇到了一个问题。我需要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>
    );
  }
}
函数getParameterByName(名称){ name=name.replace(/[\[]/,“\\[”)。replace(/[\]]/,“\\]”); var regex=new RegExp(“[\\?&]”+name+“=([^&\]*)”, results=regex.exec(location.search); 返回结果===null?”:decodeURIComponent(结果[1]。替换(/\+/g,”); } @样式(样式) 类PlayerPage扩展组件{ render(){ 常量标题='玩家'; var player=getParameterByName('player'); 返回( {title} {player}

); } }
问题在于,当代码在服务器上运行时,不会定义位置,因为node.js环境不提供位置的实现


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

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


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

这是客户端对吗?是否已检查是否定义了
窗口
?错误是否明确表示
位置
未定义,或是表示“无法读取未定义的属性位置”?听起来可能是范围问题,或者这是服务器端JS。这是客户端对吗?是否已检查是否定义了
窗口
?错误是否明确表示
位置
未定义,或是表示“无法读取未定义的属性位置”?听起来要么是范围问题,要么是服务器端JS。