Questions tagged «reactjs»

4
为什么许多软件开发人员违反开放/封闭原则?
为什么许多软件开发人员通过修改诸如重命名功能之类的东西在升级后会破坏应用程序而违反了开放/关闭原则? 在React库中出现快速和连续版本之后,这个问题就跳到了我的头上。 每隔一小段时间,我就会注意到语法,组件名称等方面的许多更改。 即将发布的React版本中的示例: 新的弃用警告 最大的变化是我们将React.PropTypes和React.createClass提取到了自己的包中。两者仍然可以通过主React对象访问,但是在开发模式下,使用其中任何一个都会将一次性弃用警告记录到控制台。这将使将来的代码大小优化成为可能。 这些警告将不会影响您的应用程序的行为。但是,我们意识到它们可能会引起一些挫败感,特别是如果您使用将console.error视为失败的测试框架。 这些更改是否被视为违反该原则? 作为React之类的初学者,我如何通过库中的这些快速更改来学习它(这是如此令人沮丧)?

7
一致的代码样式的实际价值是什么
我是顾问团队的成员,该团队为客户实施新的解决方案。我负责客户端代码库(React和javascript)上的大多数代码审查。 我注意到一些团队成员使用独特的编码模式,以至于我可以从一个样式中随机选择一个文件,以告诉谁是作者。 示例1(一次性内联函数) React.createClass({ render: function () { var someFunc = function () { ... return someValue; }; return <div>{someFunc()}</div> } }); 作者认为,通过为someFunc分配有意义的名称,代码将更易于阅读。我相信,通过内联函数并添加注释,可以达到相同的效果。 示例2(未绑定函数) function renderSomePart(props, state) { return ( <div> <p>{props.myProp}</p> <p>{state.myState}</p> </div> ); } React.createClass({ render: function () { return <div>{renderSomePart(this.props, this.state)}</div>; } }); 这是我们通常的做法(避免通过状态和道具): React.createClass({ renderSomePart: function …

1
Redux内存消耗
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为软件工程堆栈交换的主题。 3年前关闭。 Redux框架支持不变的状态/纯函数范式,该范式促进了根据当前操作从先前状态创建新状态。这种范例的适用性是毋庸置疑的。 我的一个主要问题是,由于Redux精简器急于为每个调用的每个动作从以前的状态返回新的新状态,因此,大量的内存消耗(不要与内存泄漏混淆)将在许多实际应用程序中屡见不鲜。 。考虑到Javascript应用程序通常可以在普通用户设备的浏览器中运行,而该浏览器也可以运行其他几个特定于设备的应用程序以及更多浏览器选项卡和窗口,那么节省内存的必要性就变得越来越明显。 有人真的将Redux应用程序的内存消耗与传统的Flux架构进行了比较吗?如果是这样,他们可以分享他们的发现吗?

4
当JSP scriptlet不好时,为什么JSX好呢?
React.js提供JSX作为类似于XHTML的语法,用于构造组件和元素的树。JSX编译为Javascript,而不是在JSX中正确提供循环或条件,而是直接使用Javascript: <ul> {list.map((item) => <li>{item}</li> )} </ul> 我还无法解释的是,如果在JSP中类似的构造被认为是不好的,为什么这被认为是好呢? 在JSP中类似这样的东西 <ul> <% for (item in list) { %> <li>${item}</li> <% } %> </ul> 被认为是可读性问题,可以使用标记来解决<c:forEach>。JSTL标签背后的理由似乎也可以应用于JSX: 当您不在类似XHTML的语法(尖括号,嵌套)和Java / Javascript(卷曲,逗号,括号)之间切换时,阅读起来会更容易一些 当您具有可在渲染功能中使用的完整语言和平台时,可以阻止您添加不属于该逻辑的逻辑。 我能想到的JSX不同的唯一原因是: 在Java中,您有动机去做错事-JSP会被热重载,因此很想将代码放入JSP中以避免重新生成/重新启动周期。为了立即获得生产力,牺牲了可维护性。放逐scriptlet并限制为一组固定的模板结构是有效地增强可维护性的一种方法。JS世界中不存在这种失真。 JSP和Java语法笨拙,<% ... %>无法将Java代码与元素生成区分开来,并且Java的本机语法缺乏foreach概念或一流的功能(直到最近)。在我看来,在JSX中将本机Javascript用于循环和条件的语法代价是非零的,但不如JSP差,并且可以说不足以保证引入特定于JSX的循环和条件元素。 还有其他我想念的东西吗?

3
了解助焊剂模式
我实际上正在研究流量模式,关于商店我有些不了解。 他们到底是什么? 我已经阅读了许多文章,似乎与该领域有关。 这是否意味着这是与api调用或后端调用相关的“抽象”部分? 对我来说不是很清楚。 编辑:可能与角度工厂相同吗?获取远程数据,执行业务任务或存储某些应用程序状态(例如,当前连接的用户)?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.