若是没有node的童鞋记得先去安装node会自带npmcss
使用 create-react-app 快速构建 React 开发环境node
npx create-react-app my-app cd my-app npm start
这里的npx
不是拼写错误 —— 它是npm 5.2+ 附带的 package 运行工具。react
这样就搭建完毕react,咱们能够进行开发webpack
npm install react-router-dom --save
web
在App.js里面导入npm
ceshi
,Page1
,Page2
,是我本身定义的组件(下面有ceshi.js
组件里的代码),这里其实就至关因而Vue的router.js=>导入文件,配置路由跳转
sass
import React from 'react'; import ReactDOM from 'react-dom'; import ceshi from './components/ceshi'; import Page1 from './components/Page1'; import Page2 from './components/Page2'; import './App.css'; import {Router,Route,Switch,Redirect} from 'react-router-dom'; import { createHashHistory } from "history"; const hashHistory = createHashHistory(); function App() { return ( <Router history={hashHistory}> <Route path="/ceshi" component={ceshi}/> <Route path="/Page1" component={Page1}/> <Route path="/Page2" component={Page2}/> </Router> ); } export default App;
在ceshi.js
里面,咱们跳转到Page1
里面,在React中类名都是 用className
react-router
import React from 'react'; import {Link} from 'react-router-dom';//这里导入路由 import "./ceshi.scss";//导入咱们的scss文件 function App1() { return ( <div className="App123"> 我是测试页面哟~~~666 <ul className="menu"> <li>123</li> <li>我都是好孩子</li> <Link to='/Page1'>Page1跳转</Link> </ul> </div> ); } export default App1;
npm i lib-flexible --save npm i sass-loader node-sass --save-dev npm i postcss-px2rem --save
在项目中使用
config/webpack.config.js进行配置
若是没有config文件执行npm run eject
此操做是不能够逆的,会暴露出来配置文件app
// 在配置文件中添加以下两行代码 const px2rem = require('postcss-px2rem'); px2rem({ remUnit: 75 })
这里的75是由于设计图是750的,能够根据本身的实际需求去改们通常都为750,重启项目后看到,为配置成功dom
父给子传递参数,我对比Vue和React的不一样
Vue导入子组件须要components
注册组件
React 能够直接使用
import Uheader from "./Uheader" <Uheader utitle="保证金缴纳详情" subtitle=""/>
子组件接受
Vue接受须要在 props
里声明接受
React 直接props.xxx
便可接受
function Uheaders(props) { console.log(props) return ( <div className="Uheaders"> <ul> <li><img src={require('../assets/Goreturn.png')}/></li> <li>{props.utitle}utitle为父组件传递的参数</li> <li>{props.subtitle}subtitle为父组件传递的参数</li> </ul> </div> ); } export default Uheaders;