当前位置: 首页 > 面试题库 >

在构造函数或componentWillMount中设置初始react组件状态?

仇炜
2023-03-14
问题内容

在React组件中,最好是在Constructor()或componentWillMount()中设置初始状态?

export default class MyComponent extends React.Component{
  constructor(props){
    super(props);
    this.setState({key: value});
  }
}

要么

export default class MyComponent extends React.Component{
  componentWillMount(props){
    this.setState({key: value});
  }
}

问题答案:

使用ES6类时,最好在构造函数中使用,但不要使用setStateAPI,而是这样做:

export default class MyComponent extends React.Component{
  constructor(props){
    super(props);
    this.state = { key: value };
  }
}

另外,如果您有可用的类属性(Bab期1),则可以执行以下操作:

export default class MyComponent extends React.Component{
  state = { key: value };

  render() {
    ....
  }
}


 类似资料:
  • 问题内容: 我见过两个案例设置默认状态为: 与 使用第一个变体是不好的做法吗?我在哪里可以找到有关它的更多信息?还是该ecmascript的功能如何命名? 问题答案: 如果已配置babel,则可以使用第一个变体。它是类属性语法,不包含在ES7提议中,但可作为babel的第二阶段预设使用。然而,使用第一或第二变体是优先事项。它们都转换为完全相同的东西。 第一种方法: 第二种方法

  • 我想在构造函数中初始化二维数组。但是,我在类中声明数组的实例变量时遇到了一个问题。如果我这样做就错了: 我怎么解决这个问题?

  • 问题内容: 如果我有一个需要进行一些设置的React组件(例如,用于计时器或WebAudio API等),则在确定初始化应该输入还是时遇到了麻烦。两者都有优点或缺点吗?对我来说,尚不清楚哪个是更好的选择。 我在Google上搜索了一下,看看是否有人讨论了和之间的区别,但是我什么也没找到。 编辑:Redux和任何异步函数不应该成为方程式的一部分。 问题答案: 通常,如果组件是有状态的,那么在构造函数

  • 问题内容: import React, { Component } from ‘react’; 通常我看到的是,如果他使用es6类,人们会在构造函数中执行this.state。如果不是,他可能会使用getinitialstatestate函数放置状态。但是上面的代码(是的,这是一个有效的代码),两者都没有使用。我有2个问题,这里的状态是什么?那是局部变量吗?如果是,为什么没有?prevState来

  • 问题内容: 我有一堂课,在那堂课我有: 然后在我的构造函数中: 如果这样做,一切正常。默认数据值已初始化,但如果我改为这样做: 它说: 为什么? 在构造函数内部初始化数组的最佳方法是什么? 问题答案: 这已经将您的数组元素初始化为0。您无需在构造函数中再次重复该操作。 在您的构造函数中,它应该是:

  • 问题内容: 到目前为止,我已经看到了两种在Java中设置变量值的方法。有时使用带有参数的构造函数,而其他setter方法则用于设置每个变量的值。 我知道,一旦使用“新”关键字实例化了一个类,构造函数就会在类内部初始化一个实例变量。 但是,什么时候使用构造函数,何时使用setter? 问题答案: 当您要创建对象的新实例时,应使用构造函数方法,该实例的值已填充(准备使用的对象中已填充值)。这样,您无需