繁体   English   中英

React/Redux - 何时使用状态和道具/何时更改道具

[英]React/Redux - When to use state and props / when to change props

我目前对mapStateToProps()理解是将当前设置的 Redux 存储映射到您想要在组件中设置的任何道具。 我也知道props are variables that are passed to the component and内的 state` 只是一组正在使用的并发变量。

令我困惑的是,我在许多网站/文档上看到,您永远不应该更改道具。 mapStateToProps()确实在物理上改变了组件道具并违背了这种精神?

这是一个场景,假设我们想要在运行某个后端进程时显示加载符号,我可以创建一个将设置IS_LOADING= True的调度,如果我想应用这个值来显示我将应用的组件中的加载器这是组件中的道具加载,但是当组件第一次加载时,它不会在运行 mapStateToProps() 时出错,因为 state.loading 还不存在?

让我感到困惑的是,我在许多网站/文档上看到您永远不应该更改道具

这意味着您不应该从component 内部更改 props。 这个想法是父母为孩子创造道具。 如果道具更改组件重新渲染。

但是,当组件第一次加载时,它在运行 mapStateToProps() 时不会出错,因为 state.loading 还不存在?

如果您正确配置商店,则不会发生这种情况。 Store 是在顶层创建的,因此当您的子组件初始化时,store 已经存在。 所以你必须正确配置你的初始状态。 例如将初始isLoading值设置为false

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM