这是我的代码。
<button type="button" className="btn btn-outline-secondary" onClick={this.addToCart.bind(
this,
this.state.itemDetails.product.images[0].path,
this.state.itemDetails.name,
this.state.itemDetails.id,
this.state.itemDetails.unitPrice,
this.state.quantity
)} >
<Link to="/proceedToCheckout">
Buy Now
</Link>
</button>
在这里,我想将事件称为onClick,然后单击该按钮时,我要将页面定向到链接“ / proceedToCheckout”。我想通过单击一个按钮来完成这两个操作。 在上面的代码中,当我单击按钮区域时,它将调用addToCart函数。但是路线不起作用。如果我单击“立即购买”(链接)一词,则它指向路线。但是我要做的就是单击一个按钮,我需要调用函数“ addToCart”,然后将其定向到路由“ / proceedToCheckout”
答案 0 :(得分:1)
尝试
return <Redirect to='/proceedToCheckout'/>;
代替
<Link to="/proceedToCheckout">Buy Now</Link>
请从您的路由器库中导入重定向。
答案 1 :(得分:1)
根据您的代码,我做了一些更改:
<button type="button" className="btn btn-outline-secondary" onClick={this.addToCart.bind(
this,
this.state.itemDetails.product.images[0].path,
this.state.itemDetails.name,
this.state.itemDetails.id,
this.state.itemDetails.unitPrice,
this.state.quantity )} >
Buy Now </button>
在“ addToCart”功能中,我添加了要实现的路由
addToCart= () => {
.... // what you want to achieve in this function
....
this.props.history.push('/proceedToCheckout');
}
答案 2 :(得分:0)
<button onClick={() => this.props.history.push('/proceedToCheckout')}>Buy Now</button>