diff --git a/02/src/App.js b/02/src/App.js index 96cfda19..245a13d8 100644 --- a/02/src/App.js +++ b/02/src/App.js @@ -1,7 +1,6 @@ -import React from 'react'; -import './App.css'; -import Person from './Person/Person'; - +import React from "react"; +import "./App.css"; +import Person from "./Person/Person"; /*// ## Functional code generated by creat-react-app ## function App() { @@ -70,32 +69,33 @@ const App = props => { // return React.createElement('div', {className: 'App'}, React.createElement('h1', null, `Oh Hay I'm a React App!!!`)); // }*/ - // ## OOP code ## class App extends React.Component { // The state should be IMMUTABLE, do not directly change it state = { character: [ - { id: 1, name: 'char1', ilvl: '100' }, - { id: 2, name: 'char2', ilvl: '110' }, - { id: 3, name: 'char3', ilvl: '120' } + { id: 1, name: "char1", ilvl: "100" }, + { id: 2, name: "char2", ilvl: "110" }, + { id: 3, name: "char3", ilvl: "120" } ], - somethingElse: 'something something', + somethingElse: "something something", showOrHide: false - } + }; -deleteCharacterHandler = (index) => { - const characterCopy = [...this.state.character]; //<- it's a copy so you don't change the state, but a copy of it - // const characters = this.state.character.slice(); //<- this works, too, but use spread [...] instead + deleteCharacterHandler = index => { + const characterCopy = [...this.state.character]; //<- it's a copy so you don't change the state, but a copy of it + // const characters = this.state.character.slice(); //<- this works, too, but use spread [...] instead - characterCopy.splice(index, 1); // <- deletes the item from the copy of the state.character object - console.log('deleted character: ', this.state.character[index]); - this.setState({character: characterCopy}); //<- state alterations should be made by this function alone (setState()) -} + characterCopy.splice(index, 1); // <- deletes the item from the copy of the state.character object + console.log("deleted character: ", this.state.character[index]); + this.setState({ character: characterCopy }); //<- state alterations should be made by this function alone (setState()) + }; nameChangedHandler = (event, id) => { // find the index during input event - const charIndex = this.state.character.findIndex(c => {return c.id === id}); + const charIndex = this.state.character.findIndex(c => { + return c.id === id; + }); // copy the state item to manipulate it, state can't be directly changed. const char = { ...this.state.character[charIndex] }; @@ -108,25 +108,26 @@ deleteCharacterHandler = (index) => { characters[charIndex] = char; // change the state - this.setState( {character:characters} ); - } + this.setState({ character: characters }); + }; showOrHide = () => { - const doesShow = this.state.showOrHide + const doesShow = this.state.showOrHide; // showOrHide was set to start false, but here when changing state it will // become the opposite. So if it's true it will be false and vice-versa - this.setState({showOrHide: !doesShow}) - } + this.setState({ showOrHide: !doesShow }); + }; render() { //inline CSS directives const style = { - backgroundColor: 'white', - font: 'inherit', - border: '1px solid blue', - padding: '8px', - margin: '10px', - cursor: 'pointer' + backgroundColor: "green", + color: "white", + font: "inherit", + border: "1px solid blue", + padding: "8px", + margin: "10px", + cursor: "pointer" }; let persons = null; @@ -136,31 +137,33 @@ deleteCharacterHandler = (index) => {
{this.state.character.map((char, index) => { return ( - this.deleteCharacterHandler(index)} - name={char.name} - ilvl={char.ilvl} - key={char.id} - changed={(event) => this.nameChangedHandler(event, char.id)} - />) + this.deleteCharacterHandler(index)} + name={char.name} + ilvl={char.ilvl} + key={char.id} + changed={event => this.nameChangedHandler(event, char.id)} + /> + ); })}
- ) + ); + + style.backgroundColor = "red"; } return ( -
+

Hi, I'm a React App, I'm cute.

Created using OOP code

- - {persons}
diff --git a/03/src/UserInput/UserInput.css b/03/src/UserInput/UserInput.css index 4e06f564..fc0a4c72 100644 --- a/03/src/UserInput/UserInput.css +++ b/03/src/UserInput/UserInput.css @@ -1,3 +1,3 @@ -.UserInput { - border: 2px solid red; +.UserInput { + border: 2px solid red; } \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index dd84c35d..a187cf91 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,7 +10,7 @@ services: - $PWD/src:/usr/src/app/src - $PWD/public:/usr/src/app/public ports: - - "4000:3000" - - "9229:9229" + - "5000:3000" + # - "9229:9229" # command: ["echo",$PWD/src] command: ["npm", "start"] \ No newline at end of file