【问题标题】:How to render a React component on redux state change?如何在 redux 状态更改时渲染 React 组件?
【发布时间】:2026-01-23 21:55:02
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: reactjs redux socket.io


    【解决方案1】:

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

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

    每次状态改变时,页面都会动态重新渲染。

    【讨论】:

    • 如何制作这样我就不必检查我拥有的每个组件?我无法连接到 App.js 中的道具,对吧?
    • 我不太明白你所说的道具是什么意思。但是,如果您希望检查子组件中的弹出窗口,您也可以将状态作为道具传递。也许提供更多关于您正在使用的具体内容的详细信息?