Javascript 如何使用React JS删除UI组件

Javascript 如何使用React JS删除UI组件,javascript,reactjs,Javascript,Reactjs,我很难找到有关如何在使用react时删除UI组件的相关文档。例如,有一个登录表单。用户单击submit,现在表单应该从屏幕上删除。我该怎么做 我发现了unmountComponentAtNode,但它只能在父级调用。我是否应该有一个父节点知道所有子状态并有条件地加载它们?是否所有子级都应该有一个“isHidden”属性,如果为true,该属性会将dom渲染为隐藏 这必须是基本的,但我在react js教程中没有看到。我发现这个stackoverflow post()真的是这样吗?这有点道理,但这

我很难找到有关如何在使用react时删除UI组件的相关文档。例如,有一个登录表单。用户单击submit,现在表单应该从屏幕上删除。我该怎么做

我发现了unmountComponentAtNode,但它只能在父级调用。我是否应该有一个父节点知道所有子状态并有条件地加载它们?是否所有子级都应该有一个“isHidden”属性,如果为true,该属性会将dom渲染为隐藏

这必须是基本的,但我在react js教程中没有看到。我发现这个stackoverflow post()真的是这样吗?这有点道理,但这意味着一个大型应用程序可能会有一个极其复杂的应用程序父类,它根据配置管理应用程序状态的映射

似乎我需要开始将应用程序状态定义为命名映射。例如:

BaseApp: showHeader=true;showContent=true;
LoginState: showBaseApp=true;showLoginForm=true; 
LoggedInState: showBaseApp=true;showFeed=true;

在任何时候,我们都必须更新所有状态映射并调用基类渲染方法…

在我看来,您的问题不是删除组件,而是显示正确的组件。是的,它可以通过组件状态完成,但也可以通过Flux/Redux store/reducer完成

在您的示例中,单击“提交”后使用登录表单,我们可以更改组件的本地状态,并显示另一个文本,如“请求已发送”或其他组件


但您可以通过将组件的本地状态提取到存储/还原程序来实现这一点,这样在相对较大的应用程序中效果会更好。不过,存储状态的位置取决于您自己。

我喜欢这样使用隐藏道具

类AppCtrlRender扩展React.Component{ render(){ 让page=this.state.appState.currentPage; 让hideAbout=(页面!=“关于”); 让hideHome=(page!=“home”); 返回( ); }
}如何定义应用程序状态?如果你是根据位置来做的,看看,也许这是你正在寻找的东西。