reactjs - 即使我们只需要渲染一个组件,所有组件都会被渲染,在react-redux中

标签 reactjs react-native rendering redux react-redux

我不确定这是默认行为还是redux还是其他什么,但我发现在分派(dispatch)一个 Action 时,这个 Action 会遍历所有 reducer (没关系),但它也会调用每个 reducer 的连接监听器,从而进一步导致渲染其组成部分。这意味着在每次调度时,应用程序状态树内的所有组件都会被渲染。这是 redux 故意做的还是我做错了什么。 帮我澄清一下这些事情。

最佳答案

在 Redux 中,你的状态是全局的并由 redux 处理,每当你调度一个 action 时,你只是设置全局状态。您的容器组件将接收新状态,并且 reducer 将对它们起作用,但您的组件不会重新渲染,因为之前的状态和下一个状态是相同的。

只有那些其mapStatetoProps导致不同结果的组件才会被渲染

关于reactjs - 即使我们只需要渲染一个组件,所有组件都会被渲染,在react-redux中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38195183/

相关文章:

reactjs - 如何从组件内部更新 Highchart?

javascript - 相邻的 JSX 元素必须包含在封闭标签中 - gatsby.js

react-native - React Native 获取组件的父级

javascript - React Native 某些样式导致 View 无法渲染

css - Firefox 不尊重带有服务标记字符的字体粗细

javascript - 如何重构我的 React 组件以接受一组错误,并在 error.show = true 对于其中任何一个错误时显示错误消息

css - 使用 reactstrap 将 Bootstrap Studio 渲染导入 React 时出现问题

javascript - 如何在 React Hook 表单中将对象传递给 onSubmit

forms - symfony2文本字段自定义标签

asp.net - Chrome 中 ASP.NET 站点的呈现不正确 - 单击时已修复