1. like usual,  we can stylie React code using css file.

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <link rel="stylesheet" href="app.css">
  <title>Styling React</title>
</head>

<body>
  <div id="root"></div>
  <script src="https://unpkg.com/react/umd/react.development.js"></script>
  <script src="https://unpkg.com/react-dom/umd/react-dom.development.js"></script>

  <script src="https://unpkg.com/babel-standalone"></script>
  <script src="Machine.js" type="text/jsx"></script>
  <script src="index.js" type="text/jsx"></script>

  </script>
</body>

</html>

 

2. css code

.Machine{
    border: 2px solid black;
    background: yellow;
}

.win{
    color: teal;
}

.lose{
    color:red;
}

 

3. app component that render Machine.js component.

class App extends React.Component {
	render() {
		return (
			<div>
				<h1>Slot Machines!</h1>
				<Machine
					s1="●"
					s2="●"
					s3="●"
				/>
				<Machine
					s1="●"
					s2="●"
					s3="★"
				/>
			</div>
		);
	}
}

ReactDOM.render(<App />, document.getElementById('root'));

 

4.  we can set winning or losing style using conditional statements in JSX.

class Machine extends React.Component {
    render() {
        const { s1, s2, s3 } = this.props;
        const win = (s1 === s2 && s2 === s3);
        const colors = { fontSize: '50px', backgroundColor: 'white' };

        // 클래스명 다름
        // for 사용 금지
        // in-line styling 에 camel case 씀
        // 클래스명에 조건문 사용도 가능
        return (
            <div className="Machine">
                <label htmlFor="textInput" />
                <p style={colors}>
                    {s1}{s2}{s3}
                </p>
                <p className={win ? 'win' : 'lose'}>
                    {win ? 'win' : 'lose'}
                </p>
            </div>
        );
    }
}

 

'react' 카테고리의 다른 글

React Events!  (0) 2020.06.13
Introducing State  (0) 2020.06.13
Props : default props  (0) 2020.06.13
Props : looping props  (0) 2020.06.13
Props : slot machine exercise  (0) 2020.06.13