Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用浏览器后退按钮(react,react router)返回时,如何将对象作为道具传递给上一个react组件_Javascript_Reactjs_React Router - Fatal编程技术网

Javascript 使用浏览器后退按钮(react,react router)返回时,如何将对象作为道具传递给上一个react组件

Javascript 使用浏览器后退按钮(react,react router)返回时,如何将对象作为道具传递给上一个react组件,javascript,reactjs,react-router,Javascript,Reactjs,React Router,我正在我的应用程序中使用react router进行导航 要在使用链接导航时将一些数据从当前组件传递到其他组件,我们使用: this.props.history.push('/other-page', { id: 7, color: 'green', .... })) 单击“浏览器后退”按钮时,如何将数据(对象)从当前组件传递到上一个组件 PS: 我看到了一些解决方案,其中建议使用查询字符串传递一些数据 但是我不想使用它,因为我必须传递一个具有许多属性的大对象 所以有可能用反应路由器吗?我们的

我正在我的应用程序中使用react router进行导航

要在使用
链接导航时将一些数据从当前组件传递到其他组件,我们使用:

this.props.history.push('/other-page', { id: 7, color: 'green', .... }))
单击“浏览器后退”按钮时,如何将数据(对象)从当前组件传递到上一个组件

PS: 我看到了一些解决方案,其中建议使用查询字符串传递一些数据 但是我不想使用它,因为我必须传递一个具有许多属性的大对象

所以有可能用反应路由器吗?我们的I应该在一些外部组件中使用状态,或者使用Redux存储来共享数据


谢谢。

如果某些数据可以在不同的组件中使用,那么最好使用一些类似于reducer的存储。最好是通过查询参数或回调传递数据。您可以使用类组件或从类组件迁移到函数组件,也可以使用钩子


如果你需要一些例子,请告诉我。

我有两个问题可以给你一个更好的答案。1.当您单击“后退按钮”时,您的子组件是否卸载?2.你能将道具从父组件传递给子组件吗。您使用的是类组件还是功能组件。单击“上一步”按钮后,浏览器将导航到不同的路由(url),以便卸载当前组件并加载基于路由的新组件。。2.对但我希望用户点击后退按钮,查看他们看到的数据。如果我使用这种方法,那么它将不可能3.类组件感谢您的回复。我知道这种方法:)@AMITKUMAR你没有接受答案。我的回答对你没有帮助?先生,你的回答是正确的,但我想按照我提到的方式去做。。。通过反应路由器传递对象。。。。。