From 1a179e47127859871202c4f60321e1dce7e53936 Mon Sep 17 00:00:00 2001 From: bs98 Date: Thu, 14 Nov 2019 17:02:42 +0800 Subject: [PATCH 1/3] Backup --- package-lock.json | 161 ++++++++++++++----------- package.json | 9 +- src/components/App.js | 100 ++++++++++++++- src/components/Compose/Compose.js | 11 +- src/components/Header/Header.js | 2 +- src/components/Header/Search/Search.js | 3 +- src/components/Post/Edit/Edit.js | 10 +- src/components/Post/Post.js | 10 +- 8 files changed, 218 insertions(+), 88 deletions(-) diff --git a/package-lock.json b/package-lock.json index f8c8362..c0e219e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2669,26 +2669,36 @@ } }, "cacheable-request": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.0.0.tgz", - "integrity": "sha512-2N7AmszH/WPPpl5Z3XMw1HAP+8d+xugnKQAeKvxFZ/04dbT/CAznqwbl+7eSr3HkwdepNwtb2yx3CAMQWvG01Q==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", + "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", "requires": { "clone-response": "^1.0.2", - "get-stream": "^4.0.0", + "get-stream": "^5.1.0", "http-cache-semantics": "^4.0.0", "keyv": "^3.0.0", - "lowercase-keys": "^1.0.1", - "normalize-url": "^3.1.0", + "lowercase-keys": "^2.0.0", + "normalize-url": "^4.1.0", "responselike": "^1.0.2" }, "dependencies": { "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz", + "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==", "requires": { "pump": "^3.0.0" } + }, + "lowercase-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" + }, + "normalize-url": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" } } }, @@ -4122,9 +4132,9 @@ } }, "defer-to-connect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.0.2.tgz", - "integrity": "sha512-k09hcQcTDY+cwgiwa6PYKLm3jlagNzQ+RSvhjzESOGOx+MNOuXkxTfEvPrO1IOQ81tArCFYQgi631clB70RpQw==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.0.tgz", + "integrity": "sha512-WE2sZoctWm/v4smfCAdjYbrfS55JiMRdlY9ZubFhsYbteCK9+BvAx4YV7nPjYM6ZnX5BcoVKwfmyx9sIFTgQMQ==" }, "define-properties": { "version": "1.1.3", @@ -5117,9 +5127,9 @@ }, "dependencies": { "path-to-regexp": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.7.0.tgz", - "integrity": "sha1-Wf3g9DW62suhA6hOnTvGTpa5k30=", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", "requires": { "isarray": "0.0.1" } @@ -8043,9 +8053,9 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-server": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/json-server/-/json-server-0.15.0.tgz", - "integrity": "sha512-mo9CuRVoEzJ82g/IaxU0ljSKgPpRoj6rYiJoDIUK7VEqplOca2Saq6eTwmRULRgPiRe4hHC0aYB9tNKJUAQGgQ==", + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/json-server/-/json-server-0.15.1.tgz", + "integrity": "sha512-6Vc6tC1uLasnMd6Ksnq+4gSQcRqLuSJ/yLoIG4fr4P8f5dAR1gbCqgaVRlk8jfRune0NXcrfDrz7liwAD2WEeQ==", "requires": { "body-parser": "^1.19.0", "chalk": "^2.4.2", @@ -8053,22 +8063,29 @@ "connect-pause": "^0.1.1", "cors": "^2.8.5", "errorhandler": "^1.5.1", - "express": "^4.17.0", + "express": "^4.17.1", "express-urlrewrite": "^1.2.0", "json-parse-helpfulerror": "^1.0.3", - "lodash": "^4.17.11", + "lodash": "^4.17.15", "lodash-id": "^0.14.0", "lowdb": "^1.0.0", "method-override": "^3.0.0", "morgan": "^1.9.1", - "nanoid": "^2.0.2", + "nanoid": "^2.1.0", "object-assign": "^4.1.1", - "please-upgrade-node": "^3.1.1", - "pluralize": "^7.0.0", + "please-upgrade-node": "^3.2.0", + "pluralize": "^8.0.0", "request": "^2.88.0", "server-destroy": "^1.0.1", - "update-notifier": "^3.0.0", - "yargs": "^13.2.4" + "update-notifier": "^3.0.1", + "yargs": "^14.0.0" + }, + "dependencies": { + "lodash": { + "version": "4.17.15", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", + "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" + } } }, "json-stable-stringify": { @@ -8768,9 +8785,9 @@ "optional": true }, "nanoid": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.0.3.tgz", - "integrity": "sha512-NbaoqdhIYmY6FXDRB4eYtDVC9Z9eCbn8TyaiC16LNKtpPv/aqa0tOPD8y6gNE4yUNnaZ7LLhYtXOev/6+cBtfw==" + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.6.tgz", + "integrity": "sha512-2NDzpiuEy3+H0AVtdt8LoFi7PnqkOnIzYmJQp7xsEU6VexLluHQwKREuiz57XaQC5006seIadPrIZJhyS2n7aw==" }, "nanomatch": { "version": "1.2.13", @@ -9271,14 +9288,21 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, "package-json": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.3.0.tgz", - "integrity": "sha512-XO7WS3EEXd48vmW633Y97Mh9xuENFiOevI9G+ExfTG/k6xuY9cBd3fxkAoDMSEsNZXasaVJIJ1rD/n7GMf18bA==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz", + "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==", "requires": { "got": "^9.6.0", - "registry-auth-token": "^3.4.0", + "registry-auth-token": "^4.0.0", "registry-url": "^5.0.0", - "semver": "^5.6.0" + "semver": "^6.2.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + } } }, "pako": { @@ -9504,17 +9528,17 @@ } }, "please-upgrade-node": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.1.1.tgz", - "integrity": "sha512-KY1uHnQ2NlQHqIJQpnh/i54rKkuxCEBx+voJIS/Mvb+L2iYd2NMotwduhKTMjfC1uKoX3VXOxLjIYG66dfJTVQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", "requires": { "semver-compare": "^1.0.0" } }, "pluralize": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==" + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==" }, "pn": { "version": "1.1.0", @@ -10624,14 +10648,13 @@ } }, "react": { - "version": "16.8.6", - "resolved": "https://registry.npmjs.org/react/-/react-16.8.6.tgz", - "integrity": "sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw==", + "version": "16.11.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.11.0.tgz", + "integrity": "sha512-M5Y8yITaLmU0ynd0r1Yvfq98Rmll6q8AxaEe88c8e7LxO8fZ2cNgmFt0aGAS9wzf1Ao32NKXtCl+/tVVtkxq6g==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.13.6" + "prop-types": "^15.6.2" } }, "react-app-polyfill": { @@ -10748,14 +10771,14 @@ } }, "react-dom": { - "version": "16.8.6", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.8.6.tgz", - "integrity": "sha512-1nL7PIq9LTL3fthPqwkvr2zY7phIPjYrT0jp4HjyEQrEROnw4dG41VVwi/wfoCneoleqrNX7iAD+pXebJZwrwA==", + "version": "16.11.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.11.0.tgz", + "integrity": "sha512-nrRyIUE1e7j8PaXSPtyRKtz+2y9ubW/ghNgqKFHHAHaeP0fpF5uXR+sq8IMRHC+ZUxw7W9NyCDTBtwWxvkb0iA==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", "prop-types": "^15.6.2", - "scheduler": "^0.13.6" + "scheduler": "^0.17.0" } }, "react-error-overlay": { @@ -10764,9 +10787,9 @@ "integrity": "sha512-X1Y+0jR47ImDVr54Ab6V9eGk0Hnu7fVWGeHQSOXHf/C2pF9c6uy3gef8QUeuUiWlNb0i08InPSE5a/KJzNzw1Q==" }, "react-icons": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-3.7.0.tgz", - "integrity": "sha512-7MyPwjIhuyW0D2N3s4DEd0hGPGFf0sK+IIRKhc1FvSpZNVmnUoGvHbmAwzGJU+3my+fvihVWgwU5SDtlAri56Q==", + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-3.8.0.tgz", + "integrity": "sha512-rA/8GRKjPulft8BSBSMsHkE1AGPqJ7LjNsyk0BE7XjG70Iz62zOled2SJk7LDo8x9z86a3xOstDlKlMZ4pAy7A==", "requires": { "camelcase": "^5.0.0" } @@ -10968,11 +10991,11 @@ } }, "registry-auth-token": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.4.0.tgz", - "integrity": "sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.0.0.tgz", + "integrity": "sha512-lpQkHxd9UL6tb3k/aHAVfnVtn+Bcs9ob5InuFLLEDqSqeq+AljB8GZW9xY0x7F+xYwEcjKe07nyoxzEYz6yvkw==", "requires": { - "rc": "^1.1.6", + "rc": "^1.2.8", "safe-buffer": "^5.0.1" } }, @@ -11407,9 +11430,9 @@ } }, "scheduler": { - "version": "0.13.6", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", - "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.17.0.tgz", + "integrity": "sha512-7rro8Io3tnCPuY4la/NuI5F2yfESpnfZyT6TtkXnSWVkcu0BCDJ+8gk5ozUaFaxpIyNuWAPXrH0yFcSi28fnDA==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" @@ -12709,9 +12732,9 @@ "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==" }, "update-notifier": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-3.0.0.tgz", - "integrity": "sha512-6Xe3oF2bvuoj4YECUc52yxVs94yWrxwqHbzyveDktTS1WhnlTRpNcQMxUshcB7nRVGi1jEXiqL5cW1S5WSyzKg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-3.0.1.tgz", + "integrity": "sha512-grrmrB6Zb8DUiyDIaeRTBCkgISYUgETNe7NglEbVsrLWXeESnlCSP50WfRSj/GmzMPl6Uchj24S/p80nP/ZQrQ==", "requires": { "boxen": "^3.0.0", "chalk": "^2.0.1", @@ -13603,27 +13626,27 @@ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" }, "yargs": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", - "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.0.tgz", + "integrity": "sha512-/is78VKbKs70bVZH7w4YaZea6xcJWOAwkhbR0CFuZBmYtfTYF0xjGJF43AYd8g2Uii1yJwmS5GR2vBmrc32sbg==", "requires": { "cliui": "^5.0.0", + "decamelize": "^1.2.0", "find-up": "^3.0.0", "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", "require-directory": "^2.1.1", "require-main-filename": "^2.0.0", "set-blocking": "^2.0.0", "string-width": "^3.0.0", "which-module": "^2.0.0", "y18n": "^4.0.0", - "yargs-parser": "^13.1.0" + "yargs-parser": "^15.0.0" } }, "yargs-parser": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.0.tgz", - "integrity": "sha512-Yq+32PrijHRri0vVKQEm+ys8mbqWjLiwQkMFNXEENutzLPP0bE4Lcd4iA3OQY5HF+GD3xXxf0MEHb8E4/SA3AA==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.0.tgz", + "integrity": "sha512-xLTUnCMc4JhxrPEPUYD5IBR1mWCK/aT6+RJ/K29JY2y1vD+FhtgKK0AXRWvI262q3QSffAQuTouFIKUuHX89wQ==", "requires": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" diff --git a/package.json b/package.json index 490d2cc..8b64d91 100644 --- a/package.json +++ b/package.json @@ -4,11 +4,12 @@ "private": true, "homepage": "https://boomcamp.github.io/react-3/", "dependencies": { + "axios": "^0.19.0", "faker": "^4.1.0", - "json-server": "^0.15.0", - "react": "^16.8.6", - "react-dom": "^16.8.6", - "react-icons": "^3.7.0", + "json-server": "^0.15.1", + "react": "^16.11.0", + "react-dom": "^16.11.0", + "react-icons": "^3.8.0", "react-scripts": "3.0.1" }, "scripts": { diff --git a/src/components/App.js b/src/components/App.js index b48f641..490a5c3 100644 --- a/src/components/App.js +++ b/src/components/App.js @@ -4,6 +4,12 @@ import './App.css'; import Header from './Header/Header'; import Compose from './Compose/Compose'; +import axios from 'axios' +import Post from './Post/Post' + + +// ??? +axios.defaults.headers.common['Content-Type'] = 'application/json'; class App extends Component { constructor() { @@ -18,23 +24,105 @@ class App extends Component { this.createPost = this.createPost.bind(this); } - componentDidMount() {} + componentDidMount() { + axios.get('http://localhost:9090/posts') + .then(datas=>{ + + this.setState({ + posts: datas.data + }); + + }) + .catch(e=>{ + console.log(e); + }) + } + + updatePost(id, text) { - updatePost() {} + console.log(id, text) - deletePost() {} + axios.put(`http://localhost:9090/posts/${id}`, {text}) + .then(response =>{ + // this.setState({ post: Object.assign({},responce.data)}); + const updatedPost = response.data; + + console.log("updated post" + updatedPost) + + const updatedPosts = this.state.posts.map(post => { + if (post.id === updatedPost.id) { + return { post, ...updatedPost }; + } else { + return post; + } + }); + + this.setState({ posts: updatedPosts }); + }).catch(e=>alert(e)); + + console.log(this.state); + + } - createPost() {} + deletePost(id) { + axios.delete(`http://localhost:9090/posts/${id}`).then(response =>{ + this.setState({ + posts: this.state.posts.filter(post => post.id !== id) + }); + }).catch(e=>{ + alert(e); + }) + } + + createPost(text) { + axios.post('https://practiceapi.devmountain.com/api/posts', {text}) + .then(results=>{ + + console.log(results.data); + + this.setState({posts: results.data}) + }).catch(e=>alert(e)) + } + + searchContent(text){ + axios.get(`https://practiceapi.devmountain.com/api/posts/?q=${text}`) + .then(datas=>{ + + console.log("search" + datas[0].data) + + this.setState({ + posts: datas.data + }); + + }) + .catch(e=>{ + console.log(e); + }) + } render() { const { posts } = this.state; + posts.map(post=>{ + console.log("id" + post.id); + }) return (
-
+
- + + { + + posts.map(post=>{ + return + }) + }
); diff --git a/src/components/Compose/Compose.js b/src/components/Compose/Compose.js index 57a3aed..4363e5f 100644 --- a/src/components/Compose/Compose.js +++ b/src/components/Compose/Compose.js @@ -20,7 +20,16 @@ export default class Compose extends Component { this.setState({ text }); } - createPost() {} + createPost() { + + console.log("creating post") + + const { text } = this.state; + const { createPostFn } = this.props; + + createPostFn( text ); + this.setState({ text: '' }); + } render() { // Destructuring diff --git a/src/components/Header/Header.js b/src/components/Header/Header.js index 8bd5f2d..503162f 100644 --- a/src/components/Header/Header.js +++ b/src/components/Header/Header.js @@ -20,7 +20,7 @@ export default class Header extends Component { {/* Displays the search bar */}
- + {/* Displays the profile icon */}
diff --git a/src/components/Header/Search/Search.js b/src/components/Header/Search/Search.js index 5778c53..4fd9ff4 100644 --- a/src/components/Header/Search/Search.js +++ b/src/components/Header/Search/Search.js @@ -11,8 +11,7 @@ export default class Search extends Component { return (
- - +
diff --git a/src/components/Post/Edit/Edit.js b/src/components/Post/Edit/Edit.js index 29e4d05..8dbd188 100644 --- a/src/components/Post/Edit/Edit.js +++ b/src/components/Post/Edit/Edit.js @@ -19,7 +19,15 @@ export default class Edit extends Component { this.setState({ text: value }); } - updatePost() {} + updatePost() { + + // console.log(this.props.id) + + + this.props.updatePostfn(this.props.id,this.state.text) + + this.props.hideEdit(); + } render() { // More destructuring! diff --git a/src/components/Post/Post.js b/src/components/Post/Post.js index c7cb520..02e0817 100644 --- a/src/components/Post/Post.js +++ b/src/components/Post/Post.js @@ -52,6 +52,8 @@ export default class Post extends Component { } render() { + + // This is destructuring! You can also think of it as being written as so: // const editing = this.state.editing // const showMasterMenu = this.state.showMasterMenu @@ -70,7 +72,7 @@ export default class Post extends Component { style={{ display: showMasterMenu ? 'flex' : 'none' }} > Edit - Delete + this.props.deletePostfn(this.props.id)}>Delete
@@ -83,7 +85,7 @@ export default class Post extends Component { DevMountain @DevMountain - - POST DATE GOES HERE + - {this.props.date} {/* This is where the text goes. Notice the turnary statement. The turnary statement decides to display either the text OR the editor view @@ -97,9 +99,9 @@ export default class Post extends Component {
{// This has been pulled off of this.state via destructuring editing ? ( - + ) : ( - POST TEXT GOES HERE + {this.props.text} )}
From 4c999f55ea9ffdab619fbe5a310125f268f0adc5 Mon Sep 17 00:00:00 2001 From: bs98 Date: Thu, 14 Nov 2019 17:25:59 +0800 Subject: [PATCH 2/3] done --- src/components/App.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/components/App.js b/src/components/App.js index 490a5c3..fa5c9b4 100644 --- a/src/components/App.js +++ b/src/components/App.js @@ -22,10 +22,11 @@ class App extends Component { this.updatePost = this.updatePost.bind(this); this.deletePost = this.deletePost.bind(this); this.createPost = this.createPost.bind(this); + this.searchContent = this.searchContent.bind(this); } componentDidMount() { - axios.get('http://localhost:9090/posts') + axios.get('https://practiceapi.devmountain.com/api/posts') .then(datas=>{ this.setState({ @@ -85,13 +86,20 @@ class App extends Component { } searchContent(text){ - axios.get(`https://practiceapi.devmountain.com/api/posts/?q=${text}`) + + let texts = text.target.value; + let res = []; + + axios.get(`https://practiceapi.devmountain.com/api/posts/?q=${texts}`) .then(datas=>{ - console.log("search" + datas[0].data) + datas.data.map(data=>{ + if(data.text.includes(`${texts}`)) + return res.push(data) + }) this.setState({ - posts: datas.data + posts: res }); }) @@ -103,9 +111,6 @@ class App extends Component { render() { const { posts } = this.state; - posts.map(post=>{ - console.log("id" + post.id); - }) return (
From bb8047fcd7e39946d588f1f4f407e7a3d296225e Mon Sep 17 00:00:00 2001 From: bs98 Date: Thu, 14 Nov 2019 17:28:17 +0800 Subject: [PATCH 3/3] change initial api. search is aplied to the second api --- src/components/App.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/App.js b/src/components/App.js index fa5c9b4..c325d8e 100644 --- a/src/components/App.js +++ b/src/components/App.js @@ -26,7 +26,7 @@ class App extends Component { } componentDidMount() { - axios.get('https://practiceapi.devmountain.com/api/posts') + axios.get('http://localhost:9090/posts/') .then(datas=>{ this.setState({