--- title: React - Components localeTitle: React - 组件 --- ## React - 组件 组件的意义是可在react中重用。您可以将值注入组件,从而动态的展示不同的内容。如下所示: ```jsx function Welcome(props) { return

Hello, {props.name}

; } const element = ; ReactDOM.render( element, document.getElementById('root') ); ``` `name="Faisal Arkan"`将从`function Welcome(props)`赋予`{props.name}`值,并返回已通过`name="Faisal Arkan"`赋予值的组件,之后React会将此组件渲染为html。 ### 声明组件的其他方法 使用React.js时,有许多方法可以声明组件,但有两种组件, **_无状态_**组件和**_有状态_**组件。 ### 有状态 #### 类类型组件 * 此组件为一个class类,继承React的Component类。通过继承,类类型组件拥有state变量,此变量可以存储这个组件当前的状态。 * 类类型组件同时拥有state和props。 ```jsx class Cat extends React.Component { constructor(props) { super(props); this.state = { humor: 'happy' } } render() { return(

{this.props.name}

{this.props.color}

); } } ``` ### 无状态组件 #### 功能组件(ES6的箭头功能) * 无状态组件只是一般的javascript函数。因为没有继承任何类,所以只能使用传入的props参数来注入值。 ```jsx const Cat = props => { return (

{props.name}

{props.color}

; ); }; ``` #### 隐式返回组件 ```jsx const Cat = props =>

{props.name}

{props.color}

; ```