react中類組件和函數式組件中有什麼不一樣?react
在react中建立組件的形式有三種數組
今天咱們要聊的是純函數式定義的無狀態組件及類組件的到底有什麼不一樣, 分別在什麼場景下適合使用函數
首先咱們來看一下用上述方法如何來建立一個組件性能
React.Component是以ES6的形式來建立react的組件的,是React目前極爲推薦的建立有狀態組件的方式,最終會取代React.createClass形式學習
class Demo extends React.Component { constructor(props) { super(props); this.state = { text: props.initialValue || 'placeholder' }; // 手動綁定this this.handleChange = this.handleChange.bind(this); } handleChange(event) { this.setState({ text: event.target.value }); } render() { return ( <div> <input value={this.state.text} onChange={this.handleChange}/> </div> ); } } Demo.propTypes = { initialValue: React.PropTypes.string }
純函數組件的特色:優化
function DemoComponent(props) { return <div>Hello {props.name}</div> } ReactDOM.render(<DemoComponent name="JS每日一題" />, mountNode)
以類形式建立的組件不用多說,該怎麼用還怎麼用, 這裏說一純函數組件, 純函數組件被鼓勵在大型項目中儘量以簡單的寫法來分割本來龐大的組件,將來React也會這種面向無狀態組件在譬如無心義的檢查和內存分配領域進行一系列優化,因此只要有可能,儘可能使用無狀態組件this
JS每日一題能夠當作是一個語音答題社區
天天利用碎片時間採用60秒內的語音形式來完成當天的考題
羣主在第二天0點推送當天的參考答案code
點擊加入答題cdn