我正在攻击反应启动器套件,我遇到了问题。我需要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>
);
}
}
答案 0 :(得分:0)
问题是,当您的代码在服务器中运行时,将不会定义位置,因为node.js环境不提供位置实现。
您可能希望确保此组件仅在客户端上呈现,或者从服务器中的快速请求中提取路由信息,而不是仅依赖于位置。