JSXで動的HelloWorld

本日の目標 ・JSXでHelloWorld → 完了!

・JSXで動的HelloWorld → 完了!

・マス目つくる

実行コマンド Node Packaged Modules(npm)

★buildの時点でエラー出てきた

./src/index.js

Line 5: 'App' is defined but never used no-unused-vars

[// 鉄板ぽい2つ

// import React from 'react';

// import ReactDOM from 'react-dom';

// import './index.css';

// コメントアウトした

// import App from './App'; // ここでエラー出てた 確かにimportしたけど使ってなかった]

CDNのアドレス古くなってた

こっちが最新ぽい

https://reactjs.org/docs/cdn-links.html


・動的につくる要素は、コンポーネントとして部品化できる。 → 具体的には、React.createClassメソッドを使う。

例えば [var コンポーネントのクラス名ShoppingList★ = React.createClass({

render: function() {

    return 要素の定め
    <div>hoge hoge {this.props.name☆}</div>;

}

});]

としておけば、render()する際の第一引数側(挿入する方の要素)に

タグ名?っぽく書いておけば呼び出せる。

コンポーネントの動的箇所は、

{this.props.タグ内の属性名name☆}

として代入している。

[ReactDOM.render( <ShoppingList★ name☆="Jane" />, document.getElementById('root') );]

コード002■コンポーネントからつくった要素を動的に表示する

Inline Babel script:1 Uncaught TypeError: React.createClass is not a function

なんかエラー出た

→ 主原因:ES6のBabelをDLしているのに、記法がES5だった()

詳しく:

・BabelはJsのコンパイラであるところ、JsにはECMAScript(エクマスクリプト)と呼ばれる標準記法が複数世代存在する。

    Wiki:https://ja.wikipedia.org/wiki/ECMAScript

・現在は5 → 6 へと。

    世代間で、通じる記法も異なる。

・今回CDNから引き込んでいるのは絵くまちゃんの6

<sc ript src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></sc ript>

・にも関わらず、ソース上は絵くまちゃん5用の書き方である、React.createClass()メソッドを

コンポーネント作成用に用いていた。

・→絵くまちゃん6の書き方  class クラス名 extends React.Component {

にしたら通った!

こちら参考にマルバツゲームに向けて進めています。 記載が丁寧!わかりやすい! http://www.fumiononaka.com/Business/html5/FN1704003.html

f:id:kobayashi8286:20181029221540p:plain

f:id:kobayashi8286:20181029221551p:plain