我是反应的新手,我想清楚地知道要使用哪种组件,当涉及到组件时,我会看到有两种类型。
功能组件:
import React from 'react'
const userInput = (props) => {
return(
<div>
<input type='text' onChange={props.nameChanged} value={props.username}></input>
</div>
)
};
export default userInput;
基于类的组件:
import React, { Component } from 'react';
import './App.css';
import UserOutput from './UserOutput/UserOutput';
import UserInput from './UserInput/UserInput';
class App extends Component {
render() {
return (
<div className="App">
<h3>Assignment Output :</h3>
<ul>
<li>
<UserOutput
username={this.state.Usernames[0].username}>
Welcome to React!
</UserOutput>
<UserInput
nameChanged={this.nameChangedHandler}>
</UserInput>
</li>
</ul>
</div>
);
}
}
export default App;
我读到我们应该始终尝试使用功能组件,因为它在某些方面有所帮助,并且还听说我们应避免将基于类的组件用作尽可能地。
我很困惑哪个是对的,哪个不是。
为什么应该尽可能使用功能组件,有什么好处?
我们何时应该选择功能组件,何时不应该,尚不清楚。
答案 0 :(得分:5)
类组件
基于类的组件使用ES6类语法。它可以利用生命周期方法。
如您在示例中所见,您在上面给出的Class组件是从React.Component扩展的。
在这里,您必须使用此关键字来访问在类组件中声明的道具和功能。
功能组件
功能组件比基于类的功能更简单。
功能组件主要关注应用程序的UI,而不关注行为。
更准确地说,这些基本上是类中的render函数 组件。
功能组件不能具有状态,它们不能使 使用生命周期方法。