reactjs - 类扩展了 React.Component 不能在 React 中使用 getInitialState

标签 reactjs

我正在 React 中尝试 ES6 语法,并编写如下组件:

export default class Loginform extends React.Component {
    getInitialState() {
        return {
          name: '',
          password: ''
        };
    };
}

但是浏览器让我担心:

Warning: getInitialState was defined on Loginform, a plain JavaScript class. This is only supported for classes created using React.createClass. Did you mean to define a state property instead?

我可以使用传统语法 var Loginform = React.createClass 来处理它,但是正确的 ES6 语法是什么?

另一件小事,我认为在传统语法中 React.createClass 是一个对象,因此其中的函数用逗号分隔,但是使用它需要的 extends 类分号,我不太明白。

最佳答案

ES6 类方法声明之间不需要分号或逗号。

对于 ES6 类,getInitialState 已被弃用,转而在构造函数中声明初始状态对象:

export default class Loginform extends React.Component {
  constructor(props, context) {
    super(props, context);

    this.state = {
      name: '',
      password: ''
    };
  };
}

关于reactjs - 类扩展了 React.Component 不能在 React 中使用 getInitialState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33447149/

相关文章:

reactjs - 用于生产的 Preact 和 Webpack

reactjs - 测试函数是否称为react和enzyme

javascript - 我无法对 State 中某个属性的每个实例进行求和

reactjs - PWA 应用 beforeInstallPrompt 不在移动浏览器中触发,但在普通桌面浏览器中工作

node.js - Create-React-App 需要 Node 4.0 或更高版本

reactjs - react中setState是浅拷贝还是深拷贝

javascript - 使用 Material UI 和 React.js 创建具有左对齐和右对齐元素的工具栏

reactjs - React Redux - 为什么我不能轻松地从 this.props 设置初始值?

javascript - 为什么 useState React hook 会导致 Too much re-renders。 React限制渲染次数以防止无限循环

javascript - 添加和删​​除 JSON 对象的函数