Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.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中的状态_Javascript_Reactjs_React Native_React Redux_React Router - Fatal编程技术网

Javascript 使用react路由器时保持react中的状态

Javascript 使用react路由器时保持react中的状态,javascript,reactjs,react-native,react-redux,react-router,Javascript,Reactjs,React Native,React Redux,React Router,我是英语初学者。请帮我解决这个问题。 我使用react路由器(链接、路由、浏览器路由器、交换机)在不同页面之间导航。我在其中一个页面中设置了一个状态,当我导航回上一个页面时,该状态将丢失。我应该使用redux来存储状态吗?如果您使用redux,则无法获取另一个组件的状态,如果您想从另一个组件获取状态,则可以将状态作为道具从组件A传递给组件B Ex: import componentB from "path_to_the_component_b" 然后您可以通过这样的道具将状态从组件A传递到组件

我是英语初学者。请帮我解决这个问题。
我使用react路由器(链接、路由、浏览器路由器、交换机)在不同页面之间导航。我在其中一个页面中设置了一个状态,当我导航回上一个页面时,该状态将丢失。我应该使用redux来存储状态吗?

如果您使用redux,则无法获取另一个组件的状态,如果您想从另一个组件获取状态,则可以将状态作为道具从组件A传递给组件B

Ex:

import componentB from "path_to_the_component_b"
然后您可以通过这样的道具将状态从组件A传递到组件B

<componentB state={this.state.your_state_name}/>

如果您无法获取另一个组件的状态,那么您可以将组件A的状态作为道具传递给组件B

Ex:

import componentB from "path_to_the_component_b"
然后您可以通过这样的道具将状态从组件A传递到组件B

<componentB state={this.state.your_state_name}/>

假设您有两页。这两个页面有一些内部状态。 现在,当您从A页遍历到B页时

PageB声明从
构造函数
(如果您使用的是基于类的组件)开始调用,直到
组件安装
。因此,页面B定义了它的状态

现在,您正在返回到页面A(通过链接或浏览器返回),因此页面A得到一个新调用,它开始调用其内部状态并开始设置整个页面

所以你以前的状态现在消失了。要在整个系统中保留您的状态,您需要了解使用的状态管理


PS:最好从React挂钩开始,深入Redux进行状态管理。

假设您有2页。这两个页面有一些内部状态。 现在,当您从A页遍历到B页时

PageB声明从
构造函数
(如果您使用的是基于类的组件)开始调用,直到
组件安装
。因此,页面B定义了它的状态

现在,您正在返回到页面A(通过链接或浏览器返回),因此页面A得到一个新调用,它开始调用其内部状态并开始设置整个页面

所以你以前的状态现在消失了。要在整个系统中保留您的状态,您需要了解使用的状态管理


PS:最好从React钩子开始,深入研究Redux以进行状态管理。

您能给我们提供一个示例代码,说明您正在尝试做什么吗?是的,如果您想将应用程序状态存储到一个位置,并且由于在返回时从DOM卸载组件,状态丢失,您可以使用Redux,这就是您释放状态数据的原因。您能为我们提供一个示例代码,说明您正在尝试执行的操作吗?是的,如果您想将应用程序状态存储到一个位置,并且由于组件在返回时从DOM卸载而导致状态丢失,则可以使用redux,这就是您释放状态数据的原因。