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,这就是您释放状态数据的原因。