From 215f01cf9b7a0bd66fc6ca89a0702bf3d19324fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=87=95=E9=B9=8F?= Date: Wed, 30 Sep 2020 17:54:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mock/arr.json | 16 +++++++++++++++ package.json | 3 +++ public/cms站点领域.jpg | Bin 0 -> 16213 bytes src/App.js | 21 ++++---------------- src/App.test.js | 9 --------- src/asset/1.jpg | Bin 0 -> 16213 bytes src/components/Home.js | 37 +++++++++++++++++++++++++++++++++++ src/components/Home/Home1.js | 13 ++++++++++++ src/components/Home/Home2.js | 13 ++++++++++++ src/components/New.js | 30 ++++++++++++++++++++++++++++ src/components/Pub.js | 32 ++++++++++++++++++++++++++++++ src/components/Test.js | 13 ++++++++++++ src/index.js | 4 ++-- src/route.js | 16 +++++++++++++++ src/setupTests.js | 5 ----- 15 files changed, 179 insertions(+), 33 deletions(-) create mode 100644 mock/arr.json create mode 100644 public/cms站点领域.jpg delete mode 100644 src/App.test.js create mode 100644 src/asset/1.jpg create mode 100644 src/components/Home.js create mode 100644 src/components/Home/Home1.js create mode 100644 src/components/Home/Home2.js create mode 100644 src/components/New.js create mode 100644 src/components/Pub.js create mode 100644 src/components/Test.js create mode 100644 src/route.js delete mode 100644 src/setupTests.js diff --git a/mock/arr.json b/mock/arr.json new file mode 100644 index 0000000..dc04b9b --- /dev/null +++ b/mock/arr.json @@ -0,0 +1,16 @@ +{ + "arr": [ + { + "id": 1, + "name": "nelson1" + }, + { + "id": 2, + "name": "nelson2" + }, + { + "id": 3, + "name": "nelson3" + } + ] +} \ No newline at end of file diff --git a/package.json b/package.json index fa752aa..1c08209 100644 --- a/package.json +++ b/package.json @@ -6,8 +6,11 @@ "@testing-library/jest-dom": "^4.2.4", "@testing-library/react": "^9.3.2", "@testing-library/user-event": "^7.1.2", + "axios": "^0.20.0", + "pubsub-js": "^1.9.0", "react": "^16.13.1", "react-dom": "^16.13.1", + "react-router-dom": "^5.2.0", "react-scripts": "3.4.3" }, "scripts": { diff --git a/public/cms站点领域.jpg b/public/cms站点领域.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ae9885c7632b36c7ea6e73d298b20c98e168a5aa GIT binary patch literal 16213 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 E0N1xK$N&HU literal 0 HcmV?d00001 diff --git a/src/App.js b/src/App.js index ce9cbd2..5b2f7f3 100644 --- a/src/App.js +++ b/src/App.js @@ -1,26 +1,13 @@ import React from 'react'; -import logo from './logo.svg'; import './App.css'; - +import {NavLink} from 'react-router-dom' +import MRoute from './route' function App() { return ( ); } - export default App; diff --git a/src/App.test.js b/src/App.test.js deleted file mode 100644 index 4db7ebc..0000000 --- a/src/App.test.js +++ /dev/null @@ -1,9 +0,0 @@ -import React from 'react'; -import { render } from '@testing-library/react'; -import App from './App'; - -test('renders learn react link', () => { - const { getByText } = render(); - const linkElement = getByText(/learn react/i); - expect(linkElement).toBeInTheDocument(); -}); diff --git a/src/asset/1.jpg b/src/asset/1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ae9885c7632b36c7ea6e73d298b20c98e168a5aa GIT binary patch literal 16213 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 E0N1xK$N&HU literal 0 HcmV?d00001 diff --git a/src/components/Home.js b/src/components/Home.js new file mode 100644 index 0000000..89cd5a8 --- /dev/null +++ b/src/components/Home.js @@ -0,0 +1,37 @@ +import React, {Component, Fragment} from 'react'; +import {NavLink, Route} from 'react-router-dom' +import New from './New' +import Pub from './Pub' +import Home1 from "./Home/Home1"; +import Home2 from "./Home/Home2"; + +class Home extends Component { + constructor(props) { + super(props); + this.state = { + val: 'default val' + } + } + + render() { + return ( + +

hello react cli {parseInt(Math.random() * 10)}

+ + +

{this.state.val}

+ { + console.log(val) + this.setState({val}) + }}/> + + home1 + home2 + + +
+ ); + } +} + +export default Home; \ No newline at end of file diff --git a/src/components/Home/Home1.js b/src/components/Home/Home1.js new file mode 100644 index 0000000..829fe15 --- /dev/null +++ b/src/components/Home/Home1.js @@ -0,0 +1,13 @@ +import React, {Component} from 'react'; + +class Home1 extends Component { + render() { + return ( +
+ Home1 +
+ ); + } +} + +export default Home1; \ No newline at end of file diff --git a/src/components/Home/Home2.js b/src/components/Home/Home2.js new file mode 100644 index 0000000..c10ce27 --- /dev/null +++ b/src/components/Home/Home2.js @@ -0,0 +1,13 @@ +import React, {Component} from 'react'; + +class Home2 extends Component { + render() { + return ( +
+ Home2 +
+ ); + } +} + +export default Home2; \ No newline at end of file diff --git a/src/components/New.js b/src/components/New.js new file mode 100644 index 0000000..ddc08c9 --- /dev/null +++ b/src/components/New.js @@ -0,0 +1,30 @@ +import React, {Component} from 'react'; +import PubSub from 'pubsub-js' +class New extends Component { + constructor(props) { + super(props); + this.state = { + num: 5, + ztext: 'yasaka' + } + } + + fun = () => { + this.setState({num: this.state.num + 1}) + } + + render() { + return ( +
+ 父组件传过来值为 ---- {this.props.text} -- {this.state.num} + + + +
+ ); + } +} + +export default New; \ No newline at end of file diff --git a/src/components/Pub.js b/src/components/Pub.js new file mode 100644 index 0000000..32d35d2 --- /dev/null +++ b/src/components/Pub.js @@ -0,0 +1,32 @@ +import React, {Component} from 'react'; +import PubSub from 'pubsub-js' +import Axios from "axios"; +class Pub extends Component { + constructor(props, context) { + super(props, context); + this.state = { + dataList: [] + } + PubSub.subscribe('vtt',(msg,data)=>{ + console.log(data) + }) + } + componentDidMount() { + Axios.get("http://localhost:4000/arr").then((res)=>{ + this.setState({ + dataList: res.data + }) + }) + } + + render() { + return ( +
+ {this.state.dataList.map((v,k)=>{ + return

{v.name}

+ })} +
+ ); + } +} +export default Pub; \ No newline at end of file diff --git a/src/components/Test.js b/src/components/Test.js new file mode 100644 index 0000000..84275ae --- /dev/null +++ b/src/components/Test.js @@ -0,0 +1,13 @@ +import React, {Component} from 'react'; + +class Test extends Component { + render() { + return ( +
+ Test +
+ ); + } +} + +export default Test; \ No newline at end of file diff --git a/src/index.js b/src/index.js index f5185c1..48e1352 100644 --- a/src/index.js +++ b/src/index.js @@ -3,10 +3,10 @@ import ReactDOM from 'react-dom'; import './index.css'; import App from './App'; import * as serviceWorker from './serviceWorker'; - +import {BrowserRouter} from "react-router-dom" ReactDOM.render( - + , document.getElementById('root') ); diff --git a/src/route.js b/src/route.js new file mode 100644 index 0000000..706acb6 --- /dev/null +++ b/src/route.js @@ -0,0 +1,16 @@ +import {Route, Switch,Redirect} from 'react-router-dom' +import Home from "./components/Home"; +import Test from "./components/Test"; +import React from "react"; + +function MRoute() { + return ( + + + + + + ); +} + +export default MRoute; \ No newline at end of file diff --git a/src/setupTests.js b/src/setupTests.js deleted file mode 100644 index 74b1a27..0000000 --- a/src/setupTests.js +++ /dev/null @@ -1,5 +0,0 @@ -// jest-dom adds custom jest matchers for asserting on DOM nodes. -// allows you to do things like: -// expect(element).toHaveTextContent(/react/i) -// learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom/extend-expect';