javascript - JavaScript 库中的 methodObject 表示法(例如 React 和 Sequelize)

标签 javascript reactjs sequelize.js

在 Sequelize 中,有一种方法可以创建与模型相关的数据库条目,例如:

user.createPost({...}) 

相当于instance.methodInstance。我认为“createPost”符号是 Sequelize 的一些特性,但我遇到了 React。在 React 中你可以这样定义一个组件:

function Square(props) {
      return (  
        <button className="square" onClick={() => props.onClick()} >
          {props.value}
        </button>
       );
    }

另一个组件可以像这样渲染它:

class Board extends React.Component {
  renderSquare(i) {
    return <Square />;
  }

现在我们有了“renderSquare”符号,相当于methodClass。这是我不知道的一些java语法,还是这两个库具有相似的风格是巧合?

所以我问以驼峰式大小写连接的方法和对象而不是(更常见的)object.method 语法是否是标准的 javascript 语法。

最佳答案

JavaScript​的发展速度快得离谱,以至于事情变得有点困惑。 在 ES6 之前,JS 中没有 class 关键字。但是您可以通过创建函数并通过原型(prototype)向其附加方法来实现相同的结果。

很多开发人员,尤其是那些习惯 Java/C# 的开发人员,无法理解原型(prototype)。 ES6 创建了一些语法糖来声明旧式 OOP 风格的类 - 这就是第二个示例看起来“java 风格”的原因。我必须承认 - 我实际上很喜欢新语法。清楚多了。

所以,这就是全部 - 您实际上可以使用您喜欢的任何方法。请记住,对于 React,基本上是单个函数(而不是构造函数)的组件应该是无状态的,并实现最少的逻辑 - 基本上只呈现简单内容的组件。对于任何更复杂的事情,您应该使用有状态组件 - 使用 ES6 类或带有 React.createClass 的常规 ES5。

这里有一个很好的指南,解释了您在 ES6 与 ES5 React 代码方面需要了解的大部分内容: https://facebook.github.io/react/docs/react-without-es6.html

关于javascript - JavaScript 库中的 methodObject 表示法(例如 React 和 Sequelize),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43092717/

相关文章:

javascript - 在不刷新 map 的情况下在 Openlayers 中动态设置矢量图层样式

javascript - 如何在javascript中对数组进行统计分类?

node.js - 放大初始化错误 - ✖ 根堆栈创建失败初始化失败 TypeError : Cannot redefine property: default

javascript - 如何避免 Sequelize JS 关联包括外键和包含的对象

javascript - sequelize 查询哪里喜欢

javascript - Ajax 在循环中成功设置全局变量

javascript - 响应式 D3 圆环图

javascript - JSX 将对象传递给 React 中的 jsx 标记的值

reactjs - JSDoc : How to set @param for React element as a function param?

mysql - SequelizeEagerLoadingError : (parent) is not associated to (child)!