javascript - 如何使用 React JS 删除 UI 组件

标签 javascript reactjs

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

我找到了 unmountComponentAtNode,但只能在父级调用。我是否应该有一个了解所有子状态并有条件加载它们的父节点?所有 child 都应该有一个“isHidden”属性,如果为真,该属性会将 dom 呈现为隐藏吗?

这一定是基本的,但我在 React JS 教程中没有看到这一点。我发现这个 stackoverflow 帖子 ( react.js: removing a component ) 这真的是模式吗?这是有道理的,但这意味着大型应用程序可能有一个极其复杂的 Application 父类,它根据配置管理应用程序状态的映射。

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

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

任何时候我们都必须更新所有状态图并调用基类渲染方法...

最佳答案

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

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

但是您可以通过将组件的本地状态提取到存储/ reducer 来做到这一点,并且它在相对较大的应用程序中会更好地工作。不过,这实际上取决于您想要在哪里存储状态。

关于javascript - 如何使用 React JS 删除 UI 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34382221/

相关文章:

javascript - jQuery 更改事件被调用两次

reactjs - 使用 konva 运行测试时出错

javascript - Next.js,如何将表单提交到另一个页面?

javascript - 小javascript这个问题

javascript - graphqlHTTP 不是函数

javascript - 定义用于 ES6 映射的自定义 hash() 方法

javascript - 如何从 Javascript 中的字符串中删除/替换 ANSI 颜色代码

javascript - Express'response.sendFile() 发送未捕获的语法错误 : Unexpected token <

javascript - 使用 React Async 渲染数组未定义

javascript - 如何将图像源插入到文本区域中 onclick react