1 认识
由facebook开发,只提供了MVC中的V。
优势:
①是组件化的,将js与html标签结合到一起
②单向数据流
③虚拟DOM树
下面为一段代码,初步认识react
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title></title>
</head>
<body>
<div id="app">
</div>
<script type="text/babel">
class HelloMessage extends React.Component {
render() {
return (
<div>
Hello {this.props.name}
</div>
);
}
}
ReactDOM.render(
<HelloMessage name="Taylor" />,
document.getElementById('app')
);
</script>
<script src="https://cdn.bootcss.com/react/16.10.2/umd/react.development.js"></script>
<script src="https://cdn.bootcss.com/react-dom/16.10.2/umd/react-dom.development.js"></script>
<script src="https://cdn.bootcss.com/babel-standalone/7.0.0-beta.3/babel.js"></script>
</body>
</html>
2 create-react-app
有以下几个步骤
npm install -g create-react-app
create-react-app my-app
cd my-app
npm start
也可以打包
yarn build
3 第一个组件
首先引入bootstrap,在index.html里面
<link href="https://cdn.bootcss.com/twitter-bootstrap/4.0.0-beta.2/css/bootstrap.css" rel="stylesheet">
然后在App.js里面写代码
import React,{Component} from 'react';
import logo from './logo.svg';
import './App.css';
class App extends Component {
render(){
return (
<div className="container">
<div className="row">
<div className="col-xs-1 col-xs-offset-11">
<h1>hello world</h1>
</div>
</div>
</div>
)
}
}
export default App;
4 剩下的内容
在src下新建一个components的目录,然后把组件都放到里边。我们新建一个header.js和home.js,内容分别为
import React,{Component} from 'react';
class header extends Component {
render(){
return (
<div className="container">
<div className="row">
<div className="col-xs-1 col-xs-offset-11">
<h1>header</h1>
</div>
</div>
</div>
)
}
}
export default header;
import React,{Component} from 'react';
class home extends Component {
render(){
return (
<div className="container">
<div className="row">
<div className="col-xs-1 col-xs-offset-11">
<h1>home</h1>
</div>
</div>
</div>
)
}
}
export default home;
然后在app.js里引用