首页 > 解决方案 > 如何在 redux 状态更改时渲染 React 组件?

问题描述

我正在使用这个redux-socket.io中间件从服务器对 socket.io 请求分派操作。这部分工作正常,到目前为止我需要的所有东西,我都可以用它来做。

现在我正在尝试使用这个中间件来调度一个设置状态的动作,然后当状态包含特定键时,我想渲染一个 React 组件(基本上是一个浮动窗口,高于一切)。

问题是,在调度操作之后,我不确定如何让 React 在状态更改时呈现组件。(在当前渲染的组件上方)

由于我想将此组件呈现在其他一切之上,因此我认为检查我拥有的每个组件中的更新道具并不是一个好主意。

我考虑过使用订阅 API,但我没有找到任何从内部渲染组件的示例。

这里最好的解决方案是什么?

标签: reactjsreduxsocket.io

解决方案


您可以使用三元运算符之类的东西检查返回中的渲染状态,如果为真,则渲染弹出窗口。

{state === correct ? <PopUp/> : null}

每次状态更改时,页面都会动态重新呈现。


推荐阅读