试图在类中重写css时出现Javascript语法错误
我试图在react js项目中隐藏组件,方法是选择组件类并将其更改为“无”,但出现了此语法错误试图在类中重写css时出现Javascript语法错误,javascript,css,reactjs,Javascript,Css,Reactjs,我试图在react js项目中隐藏组件,方法是选择组件类并将其更改为“无”,但出现了此语法错误 Syntax error: Unexpected token, expected ; (12:25) if (window.location.pathname === "/") { > 12 | handleChange(event){ | ^ 13 | 14 | var x =
Syntax error: Unexpected token, expected ; (12:25)
if (window.location.pathname === "/") {
> 12 | handleChange(event){
| ^
13 |
14 | var x = document.getElementByClassName("kontaktformular");
15 | x.style.display = "none";
这是我的代码
if (window.location.pathname === "/") {
handleChange(event) {
var x = document.getElementByClassName("kontaktformular");
x.style.display = "none";
}
} else {
x.style.display = "block";
}
你应该这样做
var x = document.getElementByClassName("kontaktformular");
if (window.location.pathname === "/") {
x.style.display = "none";
} else {
x.style.display = "block";
}
你可能想要这个:
handleChange(event) {
var x = document.getElementsByClassName("kontaktformular")[0];
if (window.location.pathname === "/") {
x.style.display = "none";
} else {
x.style.display = "block";
}
}
然而,这根本不是反应方式。正确的解决方案是不基于当前路由呈现联系人表单。至少你会想用这样的东西:
render() {
return (
<div>
...
{ window.location.pathname !== "/" && <KontaktFormular /> }
...
</div>
);
}
render(){
返回(
...
{window.location.pathname!==“/”&&&}
...
);
}
参考:函数调用后需要一个分号,尽管很难判断您要做什么。这可能是一个不好的代码,我不擅长js,但我的观点是我想在我的登录页上隐藏kontaktformular类的组件,但我想在所有其他页面上显示它。是的,为什么?没有必要在那里声明另一个函数。但是你正在声明和定义一个函数,所以在vanilla js中,你需要在声明和定义它之前编写函数Hanks man它修复了语法错误,但是代码没有按照我的要求工作,我想在我的登录页上隐藏类为kontaktformular的组件,所以在“/”中但在所有其他页面上,我希望它出现在那里,这可能是一个糟糕的代码,我不擅长js,但我的观点是我想在我的登录页面上隐藏类为kontaktformular的组件,但我希望它显示在所有其他页面>26 | var x=document.getElementByClassName(“kontaktformular”);这个错误出现在它上面请注意,它是GetElementsByCassName,它返回一个集合。它们中的任何一个都不起作用,这是我作为第一个选项尝试的反应方式,但它在我的所有页面中都隐藏了它。。我想不出来why@SebastiánDanáč这意味着该条件永远不会为真,因此您需要找出
…pathname
的实际值。您是否尝试了console.log(window.location)代码>返回JSX之前?位置{replace:ƒ,assign:ƒ,href:,,ancestorOrigins:DOMStringList,origin:,…}-这是控制台sad@Sebasti没错,但是.pathname
呢?如果您使用的是react router
,那么肯定有更好的方法来确定当前页面是哪一个?