类组件
import React from 'react'; // 组件必须导入
// 使用es6的class实现react的组件,组件的首字母大写
// 要实现组件,必须继承React的Component
// 必须调用super()方法 ---- 类的构造方法中调用 ----- 如果组件中使用this
// 子类必须在constructor方法中调用super方法,否则新建实例时会报错
// 这是因为子类自己的this对象,必须先通过父类的构造函数完成塑造,得到与父类同样的实例属性和方法,然后再对其进行加工,加上子类自己的实例属性和方法。如果不调用super方法,子类就得不到this对象。
class Com extends React.Component {
constructor (props) { // 父类可以调用的所有的属性和方法都在props值中
super(props)
}
// render 函数 继承自父类,是react生命周期的一部分
// 返回一段HTML代码,表示当前组件的结构(相当于vue中的template),HTML代码一般使用()包裹
// 返回的HTML结构的代码的语法 ---- jsx语法 --- javascript xml - 类xml语言
// 只有一个顶级标签
render () {
return (
<div>
hello world
</div>
)
}
}
// 暴露组件
export default Com;
函数组件
import React from 'react'; // 组件必须导入
// 箭头函数返回一段HTML代码
// const Com = () => {
// 业务逻辑
// return (
// <div>
// hello react函数式组件
// </div>
// )
// }
// 箭头函数的自带返回值,返回()表示直接返回HTML代码
const Com = () => (
<div>
hello react函数式组件-简写
</div>
)
// 暴露组件
export default Com;