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