网站建设哪家好网站建设哪家好网站建设哪家,织梦系统做的网站打开慢,外贸型网站制作,有创意的设计公司名字大全组件的使用
当应用是以多组件的方式实现#xff0c;这个应用就是一个组件化的应用 注意#xff1a;
组件名必须是首字母大写虚拟DOM元素只能有一个根元素虚拟DOM元素必须有结束标签 / 渲染类组件标签的基本流程React 内部会创建组件实例对象调用render()得到虚拟 …组件的使用
当应用是以多组件的方式实现这个应用就是一个组件化的应用 注意
组件名必须是首字母大写虚拟DOM元素只能有一个根元素虚拟DOM元素必须有结束标签 / 渲染类组件标签的基本流程React 内部会创建组件实例对象调用render()得到虚拟 DOM ,并解析为真实 DOM插入到指定的页面元素内部
函数式组件
//1.先创建函数函数可以有参数也可以没有但是必须要有返回值 返回一个虚拟DOM
function Welcome(props) {return h1Hello, {props.name}/h1;
}
//2.进行渲染
ReactDOM.Render(Welcom name ljc /,document.getElementById(div));上面的代码经历了以下几步
我们调用 ReactDOM.render() 函数并传入 作为参数。React 调用 Welcome 组件并将 {name: ‘ljc’} 作为 props 传入。Welcome 组件将 Hello, ljc 元素作为返回值。React DOM 将 DOM 高效地更新为 Hello,ljc。
类式组件
class MyComponent extends React.Component {// 如果组件不需要接收props推荐这样写不用写构造器state {isHot:false}render() {const {isHot} this.statereturn h1 onClick{this.changeWeather}今天天气很{isHot?炎热:凉爽}/h1}//以下代码直接把函数赋值给变量相当于在类的实例对象上添加了这么一个方法另外箭头函数自身没有this会逐层往上找找到类的实例对象注意这里必须是箭头函数//自定义方法要用赋值语句加箭头函数方便让this指向当前实例对象changeWeather (){const isHot this.state.isHotthis.setState({isHot:!isHot})}
}
ReactDOM.render(MyComponent/,document.querySelector(.test))注意点
组件中的 render 方法中的 this 为组件实例对象组件自定义方法中由于开启了严格模式this 指向 undefined 如何解决 通过 bind 改变 this 指向 推荐采用箭头函数箭头函数的 this 指向 state 数据不能直接修改或者更新