mic*_*ech 5 javascript functional-programming reactjs
在学习了React之后,我仍然认为很多概念很难得到.
其中:道具的不变性.
如果我做对了,那么组件或多或少地等同于面向对象编程中的对象.
在面向对象的编程中,您可以通过method-parameter将数据传递到对象中.在React中,您获得了将数据传递到组件的道具.
如果将参数传递给Java方法,则可以在method-body中更改这些数据.没问题.
在React中不可能,因为道具是不可变的.
我见过的所有文献和内容都提到这些不变性是一个重要的概念.但到目前为止还没有人真正告诉我原因.
有人可以告诉我:拥有不可变的道具有什么好处?
或分别:没有不变性的最大缺点是什么?如果道具是可变的,会发生什么?
最好是一个很好的例子.然后我可能会得到它的机会更大.
我会保持简短,因为我不是函数式编程方面的专家.我相信拥有更多经验的人最终会投入.
首先考虑你的组件,而不是对象,而是作为函数(如数学术语).您的组件是其属性的函数.更具体地说,它是一个渲染功能.它需要道具并返回HTML(实际上它返回虚拟dom树,但这是无关紧要的)
数学中的函数是纯粹的.你给他们一个输入,他们给你一个输出.它们没有副作用,也不使用任何其他输入.这给你带来了很多好处:
这些只是一些好处,像我这样的普通开发者可以看到.我相信拥有真正的函数式编程经验的人可以获得更多.希望能帮助到你
| 归档时间: | 
 | 
| 查看次数: | 264 次 | 
| 最近记录: |