按钮上的方法
Method on button
我试图在按下 link 时调用一个方法,并且该方法本身有一个参数,问题是无论我是否按下 link 都会调用该方法
代码如下:
<Link onClick={this.goToShow(show1.name)}>{show1.name}</Link>
和函数
goToShow(param){
axiosInstance.post("/user/search",param).then(
res=>{
localStorage.setItem("SEARCHED_CHARACTER",res.data.caracterDTO)
}
)
this.props.history.push("/user/searchedCharacter")
}
您正在调用该函数而不是将函数传递给 onClick,将该行更改为:
<Link onClick={() => this.goToShow(show1.name)}>{show1.name}</Link>
- 我认为如果你使用带有 link 的 js,代码甚至不会有机会被执行,因为 link 无论如何都会将用户引导至该页面我认为使用 js 事件作为属性,这对您的代码来说不是一个好的结构,最好处理来自 js
的所有事件
- 您可以尝试以下方法
<link href="#" id="mylink">click here</link>
var link = document.getElementById("mylink")
link.addEventListener("click", function() {
goToShow(param){
axiosInstance.post("/user/search",param).then(
res=>{
localStorage.setItem("SEARCHED_CHARACTER",res.data.caracterDTO)
}
)
this.props.history.push("/user/searchedCharacter")
}
});
我试图在按下 link 时调用一个方法,并且该方法本身有一个参数,问题是无论我是否按下 link 都会调用该方法
代码如下:
<Link onClick={this.goToShow(show1.name)}>{show1.name}</Link>
和函数
goToShow(param){
axiosInstance.post("/user/search",param).then(
res=>{
localStorage.setItem("SEARCHED_CHARACTER",res.data.caracterDTO)
}
)
this.props.history.push("/user/searchedCharacter")
}
您正在调用该函数而不是将函数传递给 onClick,将该行更改为:
<Link onClick={() => this.goToShow(show1.name)}>{show1.name}</Link>
- 我认为如果你使用带有 link 的 js,代码甚至不会有机会被执行,因为 link 无论如何都会将用户引导至该页面我认为使用 js 事件作为属性,这对您的代码来说不是一个好的结构,最好处理来自 js 的所有事件
- 您可以尝试以下方法
<link href="#" id="mylink">click here</link>
var link = document.getElementById("mylink")
link.addEventListener("click", function() {
goToShow(param){
axiosInstance.post("/user/search",param).then(
res=>{
localStorage.setItem("SEARCHED_CHARACTER",res.data.caracterDTO)
}
)
this.props.history.push("/user/searchedCharacter")
}
});