若是沒有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;