【问题标题】:React update component from another component从另一个组件反应更新组件
【发布时间】:2019-03-08 15:37:51
【问题描述】:

我的 Web 应用程序中有一个标头组件和发布容器组件。它们都是独立的 App 组件的子组件。帖子容器是自包含的,可以处理所有的 firebase 请求。我需要像 NEW 这样的标题按钮,它只会显示新帖子。

问题是我无法从标头访问 postContainer。我正在使用 redux,所以我可以更新 redux 中的状态并获取该信息,但我需要更新 postsContainer,以便它实际上使用来自 redux 的信息。

我不知道该怎么做。我不能只重新加载整个页面,因为 redux 状态会被重置,所以我只需要以某种方式强制更新整个 postsContainer 组件。 GetPosts 函数在 componentDidUpdate 中,所以我需要触发 componentDidUpdate 或函数 getPosts。

我现在无法创建新的父组件,将这些按钮作为 PostsContainer 组件的一部分会更容易。

所以基本上我只需要在组件 B 中按下按钮后从组件 B 触发组件 A 中的函数或 ComponentDidUpdate。如果可能的话。

如前所述,我正在使用 Redux 和 ReactRouter。

感谢您的帮助。

【问题讨论】:

标签: javascript reactjs redux react-router components


【解决方案1】:

是的,这是可能的。在组件 B 中按下按钮后,触发 Redux 存储上的更新,并设置一些标志或更改属性。将组件 A 连接到 redux 并监听 store 上的变化。使用 mapStateToProps 将 redux 存储中的状态映射到组件 A 中的 props。

之后,使用ComponentWillReceiveProps 比较this.props.changedPropnextProps.changedProp,当发生变化时,这就是你做你的事情的时间点。

【讨论】:

    猜你喜欢
    • 2018-03-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-18
    • 2020-11-25
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    相关资源
    最近更新 更多