这是我参与8月更文挑战的第11天,活动详情查看:8月更文挑战html
React,用于构建用户界面的 JavaScript 库,只提供了 UI 层面的解决方案前端
遵循组件设计模式、声明式编程范式和函数式编程概念,以使前端应用程序更高效vue
使用虚拟DOM
来有效地操做DOM
,遵循从高阶组件到低阶组件的单向数据流react
帮助咱们将界面成了各个独立的小块,每个块就是组件,这些组件之间能够组合、嵌套,构成总体页面web
react
类组件使用一个名为 render()
的方法或者函数组件return
,接收输入的数据并返回须要展现的内容面试
class HelloMessage extends React.Component {
render() {
return (
<div> Hello {this.props.name} </div>
);
}
}
ReactDOM.render(
<HelloMessage name="Taylor" />,
document.getElementById('hello-example')
);
复制代码
上述这种相似 XML
形式就是JSX
,最终会被babel
编译为合法的JS
语句调用编程
被传入的数据可在组件中经过 this.props
在 render()
访问设计模式
React
特性有不少,如:数组
着重介绍下声明式编程及Component安全
声明式编程是一种编程范式,它关注的是你要作什么,而不是如何作
它表达逻辑而不显式地定义步骤。这意味着咱们须要根据逻辑的计算来声明要显示的组件
如实现一个标记的地图:
经过命令式建立地图、建立标记、以及在地图上添加的标记的步骤以下:
// 建立地图
const map = new Map.map(document.getElementById('map'), {
zoom: 4,
center: {lat,lng}
});
// 建立标记
const marker = new Map.marker({
position: {lat, lng},
title: 'Hello Marker'
});
// 地图上添加标记
marker.setMap(map);
复制代码
而用React
实现上述功能则以下:
<Map zoom={4} center={lat, lng}>
<Marker position={lat, lng} title={'Hello Marker'}/>
</Map>
复制代码
声明式编程方式使得React
组件很容易使用,最终的代码简单易于维护
在React
中,一切皆为组件。一般将应用程序的整个逻辑分解为小的单个部分。 咱们将每一个单独的部分称为组件
组件能够是一个函数或者是一个类,接受数据输入,处理它并返回在UI
中呈现的React
元素
函数式组件以下:
const Header = () => {
return(
<Jumbotron style={{backgroundColor:'orange'}}> <h1>TODO App</h1> </Jumbotron>
)
}
复制代码
类组件(有状态组件)以下:
class Dashboard extends React.Component {
constructor(props){
super(props);
this.state = {
}
}
render() {
return (
<div className="dashboard"> <ToDoForm /> <ToDolist /> </div>
);
}
}
复制代码
一个组件该有的特色以下:
经过上面的初步了解,能够感觉到React
存在的优点: