Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Redux,我可以修改状态-它不是只读的,在动作调度之外?_Redux_React Redux - Fatal编程技术网

Redux,我可以修改状态-它不是只读的,在动作调度之外?

Redux,我可以修改状态-它不是只读的,在动作调度之外?,redux,react-redux,Redux,React Redux,也许有人能在这里为我照点光 我一直在做redux,刚刚读到了,我读到了“状态是只读的”。好吧,我想是这样的,但让我试试 所以,在我的组件中,我将它包装在一个连接中,你有什么,现在我可以访问状态。。。所以,我在render方法中这样做了 this.props.state.MYSTORE={} 那真的毁了我的店。我得到了纯函数的概念,但“状态是只读的”这一观点并不完全正确。我想它只会杀死存储的这个实例(传递到我的组件中),但实际的存储是kaboomed!!我对“状态为只读”有点困惑——显然不是 什么

也许有人能在这里为我照点光

我一直在做redux,刚刚读到了,我读到了“状态是只读的”。好吧,我想是这样的,但让我试试

所以,在我的组件中,我将它包装在一个连接中,你有什么,现在我可以访问状态。。。所以,我在render方法中这样做了

this.props.state.MYSTORE={}

那真的毁了我的店。我得到了纯函数的概念,但“状态是只读的”这一观点并不完全正确。我想它只会杀死存储的这个实例(传递到我的组件中),但实际的存储是kaboomed!!我对“状态为只读”有点困惑——显然不是


什么是真正的只读?我知道你们是通过动作创造者设定状态的,但这并不禁止不良行为。就像在常规组件中使用“setState”一样,您可以在状态树上进行赋值…

Redux的许多行为都是期望和约定,而不是绝对强制。如果您在Redux状态中使用普通对象,从技术上讲,您可以根据需要直接对其进行变异(但这几乎总是一个非常糟糕的主意!)

除此之外,Redux主要是一种将应用程序的所有“写”逻辑组织到单一结构化方法中的方法,而不是将随机写分散在整个代码库中

如果你确实需要额外的帮助,以确保你不会意外地改变你的状态,有几种工具可以使用。我的页面列出了一些插件,如果您意外地改变了状态,这些插件将向您发出警告,尽管这些插件显然只应该在开发中使用。您还可以使用特定的库来“冻结”普通对象,或者为您提供一组专门的数据结构来包装您的状态内容