gpt4 book ai didi

reactjs - 如何使用 onClick 方法通过 react-router 传递 Prop

转载 作者:行者123 更新时间:2023-12-05 01:41:40 24 4
gpt4 key购买 nike

我是 React 的新手,甚至是 React-router 的新手,我创建了一个 React 应用程序,其中包含一些路由,但有些路由需要相同的数据( Prop )。我想在当前页面上按下按钮时通过 onClickEvent 传递这些 Prop 。我读到了一些尝试,例如将按钮上的 onClick 监听器绑定(bind)到类似

的方法
handleOnClick(){    
this.props.history.push('/booking')
))

重定向到名为“预订”的路线。但是我怎样才能将当前页面的单个 Prop 或整套 Prop 传递到这个新页面?对此有什么解决方案吗?我如何访问重定向路线上的 Prop ?

这是我的 Index.js,更多路由将很快添加:

const routing = (
<Router>
<div>
<Route exact path="/" component={App} />
<Route path="/booked" component={Booked} />
</div>
</Router>
);

ReactDOM.render(routing, document.getElementById("root"));

路由树应该如下所示:我的 App.js 中有一个主视图,它呈现 BookingItems 的组件。在 Bookingitem 中,我有多个 Prop 。当我预订一些项目时,我应该被重定向到我的 Booked.js 组件。

在任何 BookingItems 中,我都有一个按钮可以重定向到 Booked.js。

预订项目:

onButtonClick() {
this.props.history.push("/booked");
}

render(){
return(
<div className="alignCenterDiv">
<button
onClick={this.onButtonClick.bind(this)}
align="center"
className="buttonBooking"
>
Buchen
</button>
</div>
)}

预订:在这里,我想访问我在 BookingItems 中拥有的任何 Prop ,或者我在预订项目中创建的 Prop ,以将其传递给 Booked。

最佳答案

如果您重定向使用:

this.props.history.push('/booking', {
myProp: this.props.myProp,
foo: 'bar'
})

然后,在 /booking 页面中,您可以像这样访问变量:

console.log(this.props.location.state)
/*
{
myProp: '...',
foo: 'bar'
}
*/

关于reactjs - 如何使用 onClick 方法通过 react-router 传递 Prop ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54083066/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com