【发布时间】:2017-05-14 10:47:50
【问题描述】:
我是新手,在阅读教程时我发现了这个,
- “render() 函数应该是纯函数,即不修改组件状态,每次调用都返回相同的结果,不直接与浏览器交互。” - https://facebook.github.io/react/docs/react-component.html#reference
我对此有点困惑。如果渲染函数每次都应该返回相同的结果,我该如何根据状态修改显示?
例如,我有带有编辑按钮的文本。当我点击编辑时,应该会出现文本框,其中包含文本内容和编辑按钮更改以保存。
【问题讨论】:
-
我认为render是mvc的view组件的一个功能。您可以使用flux 或redux 修改的模型和控制器。简而言之:从默认状态/模型开始 => 给视图状态和状态生成 html => 用户点击某些东西,因此视图创建一个动作 => 动作由存储(flux/redux)处理,动作处理程序返回新状态 => 新状态被赋予视图 => ...
-
渲染函数应该总是为 current 状态返回相同的结果。渲染函数基本上是一个以当前状态为参数的函数(实际上,这就是无状态组件所做的)。
-
调用具有相同参数集的纯函数将始终返回相同的值
标签: javascript reactjs stateless