レンダリングメソッド内でアンカータグをクリックしたときにコンポーネントの状態を更新しようとしています。私はコンストラクタ内でバインドしようとしましたが、console.logはまだ呼び出されていません。以下は私のコードです。助けてください。これは、笑って進んで私を抱きしめている。アンカータグがリアクションのonClick関数を呼び出さない
これは私の前の質問に基づいて変更されたコードはここにstackoverflowします。
const React = require('react');
class Navbar extends React.Component {
constructor(...props) {
super(...props);
this.setActiveTab = this.setActiveTab.bind(this)
this.state = {
currentPage: "/"
}
}
setActiveTab(e) {
console.log(e.target)
this.setState({
currentPage: e.target.href
})
}
render() {
const { path } = this.props
let classString = path === this.state.currentPage ? 'nav-item is-tab is-active' : 'nav-item is-tab'
return (
<nav className="nav">
<div className="nav-left">
<a className="nav-item">
<h1>CREATORS NEVER DIE</h1>
</a>
</div>
<div className="nav-right nav-menu">
<a href="/" className={classString} onClick={this.setActiveTab}>
Home
</a>
</div>
</nav>
)
}
}
module.exports = Navbar;
あなたは 'href = '/''を使用していますので、 'a'から' href'を削除するか、 'href = 'javascript:void(0)'' –
を使用してください。リンクがあなたを別のページに連れて来ているので、 'onClick'は起動しません。 – glhrmv
@MayankShukla hrefを削除しても何もコンソールに表示されません – Dileet