Upgrade to Pro — share decks privately, control downloads, hide ads and more …

React入門

yayamura
December 25, 2017

 React入門

yayamura

December 25, 2017
Tweet

Other Decks in Programming

Transcript

  1. 3FBDUͱ͸ w %FDMBSBUJWF એݴత  w $PNQPOFOU#BTFE ίϯϙʔωϯτϕʔε  w

    -FBSO0ODF 8SJUF"OZXIFSF Ͳ͜Ͱ΋࢖͑Δ 7JFXྖҬͷ+BWBTDSJQUϑϨʔϜϫʔΫ
  2. +49 import React, { Component } from 'react'; import ReactDOM

    from 'react-dom'; // ίϯϙʔωϯτ class App extends Component { render() { return <Hello />; } } // Stateless Functional Component const Hello = () => <div>Hello React!!!</div>; // initialize ReactDOM.render(<App/>, document.getElementById('app')); +BWBTDSJQU֦ுͷλάߏจɻ+BWB4DSJQUF9UFOUIJPO $PNQPOFOU͸ ಠࣗλάͷΑ͏ͳ΋ͷ
  3. )FMMP8PSME import React, { Component } from 'react'; import ReactDOM

    from 'react-dom'; // Component class App extends Component { render() { return <Hello />; } } // Stateless Functional Component const Hello = () => <div>Hello React!!!</div>; // initialize ReactDOM.render(<App/>, document.getElementById('app')); <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>React</title> </head> <body> <div id="app" /> </body> </html> JOEFYKTY JOEFYIUNM
  4. ίʔυαϯϓϧ import React, { Component } from 'react'; import ReactDOM

    from 'react-dom'; // Parent Component class App extends Component { constructor() { super(); this.state = { messageBase: 'Hello React', message: 'Hello React!', count: 1, }; this.incrementCount = this.incrementCount.bind(this); this.decrementCount = this.decrementCount.bind(this); } // Handler incrementCount() { const { messageBase, count } = this.state; const nxCount = count + 1; this.setState({ ...this.state, // Spread Properties message: messageBase + '!'.repeat(nxCount), count: nxCount, }); } decrementCount() { const { messageBase, count } = this.state; const nxCount = count > 0 ? count - 1 : 0; this.setState({ ...this.state, message: messageBase + '!'.repeat(nxCount), count: nxCount, }); } ଓ͘ 4UBUFͷॳظԽ ࢠʹ౉͢4UBUFΛૢ࡞͢Δϝιου
  5. ίʔυαϯϓϧ render() { const { message } = this.state; return

    ( <div> <div>{message}</div> <PlusMinusButton plusMinus={'+'} changeCount={this.incrementCount} /> <PlusMinusButton plusMinus={'-'} changeCount={this.decrementCount} /> </div> ); } } // Child Component const PlusMinusButton = ({ plusMinus, changeCount }) => { return <button onClick={changeCount}>{plusMinus}</button>; }; // Initialization ReactDOM.render(<App/>, document.getElementById('app')); "QQͷଓ͖ 1SPQFSUZͷड͚౉͠ ਌͔Β౉͞ΕͨϝιουΛΠϕϯτϦεφʔͱͯ͠ొ࿥ ਌͔Β౉͞Εͨ PSΛϘλϯϥϕϧͱͯ͠ར༻ IUUQTHJUIVCDPNZULBZBNVSBTUBSUSFBDUTUBUF
  6. 3FBDUɿ 3FEVYɿ (SBQI2-ɿ &4 શճ ɿ 7VFKTɿ /FYUKTɿ 3FBDU/BUJWFɿ 8FCQBDLɿ

    IUUQCBTJDSFBDUBYMJHIUDPNIUNM IUUQCBTJDSFEVYBYMJHIUDPNIUNM IUUQCBTJDXFCUFDIBYMJHIUDPNHSBQIRMIUNM IUUQCBTJDXFCUFDIBYMJHIUDPNFTIUNM IUUQCBTJDXFCUFDIBYMJHIUDPNWVFKTIUNM IUUQCBTJDXFCUFDIBYMJHIUDPNOFYUKTIUNM IUUQCBTJDXFCUFDIBYMJHIUDPNDSOBIUNM IUUQCBTJDXFCUFDIBYMJHIUDPNXFCQBDLIUNM ࣗशڭࡐ