Javascript 按钮onClick在我的react组件中不起作用

Javascript 按钮onClick在我的react组件中不起作用,javascript,reactjs,Javascript,Reactjs,我正在制作一个亚马逊克隆,但“添加到购物车”按钮不起作用。我正在制作“这是主页”组件,并仅从那里获得所有这些道具。谁来帮忙。我在那里只呆了两天。 感谢您的帮助。 从“React”导入React; 导入“/Product.css”; 从“/StateProvider”导入{useStateValue}; 功能产品({id,title,price,rating,image}){ const[state,dispatch]=useStateValue(); 函数addToCart(事件){ cons

我正在制作一个亚马逊克隆,但“添加到购物车”按钮不起作用。我正在制作“这是主页”组件,并仅从那里获得所有这些道具。谁来帮忙。我在那里只呆了两天。 感谢您的帮助。

从“React”导入React;
导入“/Product.css”;
从“/StateProvider”导入{useStateValue};
功能产品({id,title,price,rating,image}){
const[state,dispatch]=useStateValue();
函数addToCart(事件){
console.log(事件);
派遣({
键入:“将\添加到\购物车”,
项目:{
id:id,
标题:标题,,
图像:图像,
价格:价格,
评级:评级
},
});
};
返回(
{title}

{price}

{ 阵列(额定值) .fill() .map((u,i)=>(⭐

)) } 添加到购物车 ); } 导出默认产品
您需要将呼叫更新为:

            <button onClick={(event) => { addToCart}}>Add to cart</button>
{addToCart}}>添加到购物车

尝试将您的addToCart功能更改为箭头功能:

const addToCart=(事件)=>{
console.log(事件);
派遣({
键入:“将\添加到\购物车”,
项目:{
id:id,
标题:标题,,
图像:图像,
价格:价格,
评级:评级
},
});

};您的代码似乎没有任何问题。我怀疑
useStateValue
函数有问题

我会看几个地方:

  • useStateValue
    返回的
    dispatch
    是否确实是dispatcher

  • 您的减速机是否正确执行了“添加到购物车”操作?某处可能有打字错误


{addtoCart}已足够,直到无法工作。即使我试图复制一个普通的按钮来检查这个组件,但它不工作。你可能需要显示你的操作代码。另外,详细说明“不工作”的含义可能是一个好主意,`function addToCart(event)`即使没有将其转换为箭头函数也可以工作,但尝试了它却不工作!我还在codepen中检查了您的代码,并且工作正常。我同意@cd3k,我想您的调度程序或状态提供程序有问题。
            <button onClick={(event) => { addToCart}}>Add to cart</button>