用计算机跑模型是什么意思,计算机科学 – 显性变异和静态心理模型是什么意思?...

显式变异 – 这涉及一个反应组件如何理想地表达为纯函数或类似于纯函数,即给定一个特定的输入(在这种情况下是一组道具),你总是得到相同的输出(在这种情况下渲染的DOM)无论如何多少次你尝试使用相同的道具.

因此,任何应用于组件或其数据的突变都应该明确意图在组件的范围内完成(这是内部状态进入的地方,通常是对输入道具变化的反应,或者某些组件内的用户交互)并且通过这样做也是可靠且可重复的 – 给定相同的道具和相同的用户交互,结果仍应完全可预测

出于这个原因,React特别擅长将不可变数据结构作为道具组合,这有助于实现这一目标(并且这样做可以对输入发生变化做出一些假设,以提供性能提升)

同样以这种方式表现,不可重复的边缘案例错误显着减少,并且仍然存在的错误可以更容易推理并且倾向于本地化到组件或其直接输入

静态心智模型 – 使用React编写应用程序视图层时,您可以轻松地将您的想法提炼到手头的组件,它可以完全从应用程序的上下文中删除,但仍然有意义.你只需要考虑一下特定的输入,这个特定的组件应该如何看待和表现.

例如,给定Todo列表,您不需要记住在应用程序的另一部分中按下“完成所有任务”按钮会更改每个待办事项列表项节点的类名以显示它已完成,并且它会删除允许的事件侦听器您在点击时完成它们(即记住您的应用程序的哪些其他部分会改变您正在使用的DOM)

它可以简单地单独建模为< TodoListItem complete = {true} />零件.如果它是真的,那么可以通过设置自己的className来显示自己完整,并可以根据是否完成来管理自己的事件处理程序.它本质上是一个黑盒子,没有其他任何东西需要知道它是如何显示为完整的或它在完成时的行为方式.即按下一个按钮就可以通过它完成= {true}并完成.

您的大脑更容易专注于单个组件,什么是合理的输入,以及它应该如何表现,而不是还要考虑应用程序中的其他任何内容是否也将完整的类名添加到同一节点并表现为一个错误吧?!

同样重要的是,它使测试变得容易,并且非常容易让其他人出现,一看你的组件并理解它,并自信地使用它,因为他们知道它可以被孤立地对待.他们所看到的就是他们得到的东西.即使是没有应用程序领域知识的CSS / HTML专家,React,甚至是javascript本身,也可以通过新的classNames和标记来改变它的外观,并对在应用程序上下文中工作的变更充满信心(也许通过使用一个静态工具,如https://storybook.js.org/,这是一个很好的效果这一点的完美例子)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值