Javascript 组件更新后状态消失

Javascript 组件更新后状态消失,javascript,reactjs,react-router,state,Javascript,Reactjs,React Router,State,我做了一个小民意测验应用程序 使用主组件和新组件 具有“问题和投票”选项的主渲染状态 在新组件中,您可以使用投票选项进行新的投票。 通过“添加轮询”按钮转到新组件后,旧状态消失, 所以我只加了一个投票。 我如何保持这种状态 import React,{Component}来自'React'; 从'react router dom'导入{Link}; 从“./Poll”导入轮询 类Home扩展组件{ 状态={ 问题:“, 标签:[], } componentDidMount(){ if(this

我做了一个小民意测验应用程序 使用主组件和新组件 具有“问题和投票”选项的主渲染状态 在新组件中,您可以使用投票选项进行新的投票。 通过“添加轮询”按钮转到新组件后,旧状态消失, 所以我只加了一个投票。 我如何保持这种状态

import React,{Component}来自'React';
从'react router dom'导入{Link};
从“./Poll”导入轮询
类Home扩展组件{
状态={
问题:“,
标签:[],
}
componentDidMount(){
if(this.props.location.state!==未定义){
const tag=this.props.location.state.tag;
const que=this.props.location.state.question;
这是我的国家({
tag:[…this.state.tag,tag],
问题:[…this.state.question,que]
})
}
}
render(){
返回(
添加投票 ) }; } 导出默认主页
您可以将组件分为一个容器(主组件)和一个表示组件(轮询列表,新组件)

即Home将保持状态并呈现列表或新组件。这样你就永远不会失去国家


“添加”按钮只会在您的状态中更改某种标志,并根据该标志呈现一个组件。

一旦组件卸载,React组件将丢失该状态。如果要在卸载组件后仍保持该状态,请尝试使用。

是否正在加载新状态以代替主组件?因为如果是这样的话,你的家乡状态就会消失。我为你编辑帖子是的,你正在卸载家乡组件来安装新组件,这就是为什么家乡状态会被删除。尝试使用Redux可能是一个好方法。