Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否仍建议使用基于类的组件作为标准工业实践_Javascript_Reactjs - Fatal编程技术网

Javascript 是否仍建议使用基于类的组件作为标准工业实践

Javascript 是否仍建议使用基于类的组件作为标准工业实践,javascript,reactjs,Javascript,Reactjs,虽然我编写的代码在浏览器中工作,但它告诉我,在下面的代码中,构造函数的使用是不推荐的,并且是无用的 `class ArrList extends React.Component{ constructor(props){ super(props) } render(){ const {array} = this.props; const arrList = array.map((arr) => <List key={arr} li={a

虽然我编写的代码在浏览器中工作,但它告诉我,在下面的代码中,构造函数的使用是不推荐的,并且是无用的

`class ArrList extends React.Component{ 
    constructor(props){
      super(props)
   }
   render(){
    const {array} = this.props;
    const arrList = array.map((arr) => <List key={arr} li={arr} />)
    return arrList;
    }
}`

enter code here
`class ArrList扩展React.Component{
建造师(道具){
超级(道具)
}
render(){
const{array}=this.props;
常量arrList=array.map((arr)=>)
返回列表;
}
}`
在这里输入代码

另外,super在代码中是交叉的,但它可以工作。因此,建议继续使用基于类的还是继续使用基于函数的

它必须告诉您,在示例代码中实际上并不需要构造函数。您在
构造函数中什么也没做

因此,在代码中,您可以删除:

constructor(props){
  super(props)
}
构造函数
主要用于初始化状态并将事件处理程序方法与
即实例绑定。例如:

constructor(props){
  super(props)
  this.state = {
    foo: '',
    bar: ''

  }
  this.handleChange = this.handleChange.bind(this);
}
如果不初始化状态,也不绑定方法,则不需要为React组件实现构造函数

React组件的构造函数在装入之前被调用。在实现React.Component子类的构造函数时,应该在调用任何其他语句之前调用super(props)。否则,this.props将在构造函数中未定义,这可能会导致错误

阅读更多:


类别与功能: 对此没有明确的答案。你应该用你喜欢的东西,或者两者都用。但您可能会注意到,在使用函数时,代码基会变短。类可能会混淆,但函数很简单。但同样,这取决于程序员

请注意,(自定义或内置)不能在类组件中使用。因此,如果您想使用钩子,请使用函数组件


阅读更多信息:

如果您使用巴贝尔,您不再需要构造函数和超级。但是,我建议使用钩子和功能组件而不是类,这将使您的react代码库更短、更可读。

当您想要管理状态和/或需要管理生命周期钩子时,我确实建议使用类基组件。虽然您可以导入useState和useEffect等。。。在基于类的组件中,状态与以前的状态合并,并且生命周期挂钩的使用更方便(至少在我看来)。在某些情况下,您几乎被迫使用类组件,例如在实现时,但通常情况下,功能组件是未来的。一旦您感受到react挂钩的测试,您将永远不会回到类组件。谢谢它真的很有帮助