我无法找到有关如何在使用 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/