Reactjs 为什么onClick在某些情况下不起作用?
出于某种奇怪的原因,onClick在我的React应用程序中不起作用Reactjs 为什么onClick在某些情况下不起作用?,reactjs,onclick,components,Reactjs,Onclick,Components,出于某种奇怪的原因,onClick在我的React应用程序中不起作用 <GorillaSurfIn onClick={() => { console.log('gorilla clicked'); setShouldGorillaSurfOut(true); }} /> { log('gorilla click
<GorillaSurfIn
onClick={() => {
console.log('gorilla clicked');
setShouldGorillaSurfOut(true);
}}
/>
{
log('gorilla clicked');
SetShouldGorillarSurfOut(真);
}}
/>
正如您所看到的,我在控制台中记录了它,但我在控制台中没有看到任何东西。
很奇怪。这是盒子
它应该做的是在单击GorillarSurfin后渲染GorillarSurfin。我认为这是因为GorillarSurfin是一个自定义组件,对吗 onClick事件仅适用于DOM元素,例如div
要使其工作,您必须在组件内获得道具,并将其应用于组件内的div我认为这是因为GorillarSurfin是一个自定义组件,对吗 onClick事件仅适用于DOM元素,例如div
要使其工作,您必须在组件内获取道具,并将其应用于组件内的div您的GorillarSurfin组件从不使用其传递的道具。您需要让它使用onClick道具做一些事情,可能需要将它传递到div中
const GorillaSurfIn = (props) => {
return (
<div id="moving-gorilla" onClick={props.onClick}>
<motion.img
animate={{
x: 530,
y: 350,
transition: { duration: 3 }
}}
id="gorilla-surf-gif"
src={require('../images/surfing_gorilla.gif')}
/>
</div>
);
};
const GorillaSurfIn=(道具)=>{
返回(
);
};
您的GorillarSurfin组件从不使用其传递的道具。您需要让它使用onClick道具做一些事情,可能需要将它传递到div中
const GorillaSurfIn = (props) => {
return (
<div id="moving-gorilla" onClick={props.onClick}>
<motion.img
animate={{
x: 530,
y: 350,
transition: { duration: 3 }
}}
id="gorilla-surf-gif"
src={require('../images/surfing_gorilla.gif')}
/>
</div>
);
};
const GorillaSurfIn=(道具)=>{
返回(
);
};
枝形吊灯阿克塞尔所说的是写的。
onClick事件侦听器用于React元素,而不是React组件。要为React组件添加事件侦听器,必须执行以下操作
函数测试({customClickEventHandler}){
返回测试按钮;
}
类Main扩展了React.Component{
render(){
返回(
console.log('Clicked')}/>
);
}
}
枝形吊灯阿克塞尔所说的是写的。 onClick事件侦听器用于React元素,而不是React组件。要为React组件添加事件侦听器,必须执行以下操作
函数测试({customClickEventHandler}){
返回测试按钮;
}
类Main扩展了React.Component{
render(){
返回(
console.log('Clicked')}/>
);
}
}
尼古拉斯写的东西应该有用。不要尝试重新运行npm start和/或clear Catch,如果它不能立即工作,那么Nicholas写的应该工作。不要尝试重新运行npm启动和/或清除Catch,如果它不能立即工作