reactjs - onClick 附加到超链接不运行
问题描述
当我单击<a href onClick>Fire</a>
or<a href onClick>Storm</a>
时,控制台应该!!!!!!!!!!!!!
从接收toggle()
,但它没有。知道为什么吗?
const Map = ({ eventData, center, zoom }) => {
//location box after click
const [locationInfo, setLocationInfo] = useState(null);
const [infoBox, setInfoBox] = useState(true);
const [idx, setIdx] = useState(eventData);
const toggle = (index) => {
console.log('!!!!!!!!!!!!!');
setIdx(idx.filter((ev) => ev.categories[0].id === index));
}
return (
<div>
<div id="mySidenav" className="sidenav">
<a href="" id="Fire" onClick = {() => toggle(10)}>Fire</a>
<a href="" id="Storm" onClick = {() => toggle(8)}>Storm</a>
</div>
<Header/>
{/*reload this component*/}
<div className="map">
<GoogleMapReact
bootstrapURLKeys={{ key: process.env.REACT_APP_API_KEY }}
defaultCenter={ center }
defaultZoom={ zoom }
>
{idx.map((ev, index) => {
if(ev.categories[0].id === 8 || ev.categories[0].id === 10) {
console.log("idx");
return <LocationMarker key = {index} lat={ev.geometries[0].coordinates[1]} lng={ev.geometries[0].coordinates[0]} onClick={() => {
setLocationInfo({ id: ev.id, title: ev.title });
setInfoBox(!infoBox);
}} />
}
})}
</GoogleMapReact>
{infoBox &&
<div onClick={()=> setInfoBox(!infoBox)}>
{locationInfo && <LocationInfoBox info={locationInfo}/>}
</div>
}
</div>
</div>
)
}
解决方案
不需要添加href
属性。该onClick
事件将被触发:
<a onClick={()=> console.log("click")}>Fire</a>
如果您不会使用它,那么您不需要放置它。
推荐阅读
- python - 如何使用 OAUTH/JWT 与 HANA 建立 Python 连接
- qt - (Q) 主题是 QML - 如何在 Keys.onPressed 函数中延迟使用
- css - 在手机上移动任务栏螺丝CSS背景渐变
- json - 如何使用 jq 从值数组中进行选择
- wpf - MVVMCross WPF - 如何在根目录(MvxWindow)中加载 MaterialDesign DialogHost?
- amazon-elastic-beanstalk - 我无法让 bootstrap-sass 在开发环境中工作,但可以让它在生产环境中工作并测试 env rails 6.1.3.1
- windows - 将 ClickOnce 应用程序部署到不同的名称
- ruby - 使用 Fiddle 编译 Ruby 3.1.0-dev
- javascript - 无法在 index.js 中加载 markdown.md
- javascript - 无法访问嵌套对象属性 TS