Javascript 在React中,为什么这个onClick代码片段可以工作,但我试着以另一种方式编写它?
为什么这对onClick有效Javascript 在React中,为什么这个onClick代码片段可以工作,但我试着以另一种方式编写它?,javascript,reactjs,onclick,Javascript,Reactjs,Onclick,为什么这对onClick有效 const mapDispatchToProps = (dispatch) => ({ toggleCartHidden: () => dispatch(toggleCartHidden()), }); <Button onClick={() => { history.push('/checkout'); toggleCartHidden(); }} >Button text</Button>
const mapDispatchToProps = (dispatch) => ({
toggleCartHidden: () => dispatch(toggleCartHidden()),
});
<Button
onClick={() => {
history.push('/checkout');
toggleCartHidden();
}}
>Button text</Button>
const-mapDispatchToProps=(调度)=>({
toggleCartHidden:()=>调度(toggleCartHidden()),
});
{
history.push('/checkout');
toggleCartHidden();
}}
>按钮文本
但这不起作用(路由不起作用)
{
history.push('/checkout');
},
切换(隐藏)
}
>按钮文本
我有另一个组件,它的代码与onClick的语法类似(onClick中没有函数调用)
const-mapDispatchToProps=(调度)=>({
toggleCartHidden:()=>调度(toggleCartHidden()),
});
偶像
因为您正在传递一个要计算的表达式。在expression
中,您使用,
运算符计算每个部分,但它只返回最后一个部分,即toggleCartHidden
如果在控制台上执行(1、3、5)
,它将返回5
<Button
onClick={
(() => {
history.push('/checkout');
},
toggleCartHidden)
}
>Button text</Button>
const mapDispatchToProps = (dispatch) => ({
toggleCartHidden: () => dispatch(toggleCartHidden()),
});
<div className='cart-icon' onClick={toggleCartHidden}> ICON </div>