近几年前端能够说是飞速发展,从虚拟dom到flux单项数据流,这些对于前端能够说是跨时代到发展,对于前端开发者来讲不单单是挑战也是大到机遇,若是你想成为一名顶尖到前端开发工程师,那我认为掌握这些概念和由此孕育而出到框架是必不可少的。anglurjs ,vuejs ,reactjs做为当前前端三大主流框架,也许咱们工做中只会用到一种,但掌握他们,并能运用他们应该咱们必备但技能。 注:本文只是本身重看reactjs文档的一些总结,主要参考的是reactjs的官方文档。html
reactjs使用jsx语法有以下特色前端
标记与逻辑共同存放vue
经过大括号嵌入表达式node
jxs能够看做一个表达式react
有效防止注入攻击ios
详细请点击查看redux
function HelloWorld(props) {
const isLoggedIn = props.isLoggedIn;
if (isLoggedIn) {
return <p>hello world</p>;
}
return <p>not login</p>;
}
复制代码
const numbers = [1, 2, 3, 4, 5];
const listItems = numbers.map((number) =>
<li>{number}</li>
);
复制代码
import React from 'react'
class Clock extends React.Component {
constructor(props) {
super(props);
this.state = {date: new Date()};
}
tick() {
//经过setstate来改变状态
this.setState({
date: new Date()
});
}
render() {
//将状态渲染到ui页面
return (
<div>
<h1>Hello, world!</h1>
<h2>如今是 {this.state.date.toLocaleTimeString()}.</h2>
<button onClick={this.tick.bind(this)}>更新时间</button>
</div>
);
}
}
复制代码
注:reactjs中的状态能够称为自顶向下或单向数据流。任何状态始终由某些特定组件全部,而且从该状态导出的任何数据或 UI 只能影响树中下方的组件。axios
class WebSite extends React.Component {
constructor() {
super();
this.state = {
name: "菜鸟教程",
site: "https://www.runoob.com"
}
}
render() {
return (
<div>
<Name name={this.state.name} />
<Link site={this.state.site} />
</div>
);
}
}
class Name extends React.Component {
render() {
console.log(this.props)
return (
<h1>{this.props.name}</h1>
);
}
}
class Link extends React.Component {
render() {
return (
<a href={this.props.site}>
{this.props.site}
</a>
);
}
}
复制代码
reactjs生命周期能够分为 mount update destroy每个生命周期对应的api以下所示:api
React 元素的事件处理和 DOM 元素相似。可是有如下两点注意:数组
HTML 表单元素与 React 中的其余 DOM元素有所不一样,表单中可变的状态保存在state中 而且只能经过setstate来更新
class HelloMessage extends React.Component {
constructor(props) {
super(props);
this.state = {value: 'Hello Runoob!'};
this.handleChange = this.handleChange.bind(this);
}
handleChange(event) {
this.setState({value: event.target.value});
}
render() {
var value = this.state.value;
return <div>
<input type="text" value={value} onChange={this.handleChange} />
<h4>{value}</h4>
</div>;
}
}
复制代码
本章主要介绍了reactjs的基本内容,主要参考了reactjs的官方文档。建议初学者完整的把reactjs的官方文档看几遍,注意不是看一遍。若是你能坚持多看几遍,而且在看的过程当中写几个demo那你上手项目将很是快。