iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 5
1
Modern Web

線上讀書會-2016 年學 JavaScript 是一種什麼樣的體驗系列 第 5

Yeah 開始Reactjs 元件拼拼裝裝單元

隨著jason大大的關卡我們來到了lesson 5 學習Reactjs元件的拼裝,這個章節介紹 allen大大 的主講

https://www.youtube.com/watch?v=pBtPwcBHhqE

步驟重點心得分享
這邊在學習過程中有時會看到另外一種使用common.js的寫法export default TodoApp輸出模組的方式,有時候看別人的範例的時候初學者會搞混的地方
這邊是最單純的環境,把TodoApp掛到 window.App.TodoApp這個物件之下

1.創建Component

    class TodoApp extends React.Component {
    ...
    }
    window.App.TodoApp = TodoApp;  

2.在主頁面中引入Component

        <script type="text/babel" src="./InputField.js"></script>
        <script type="text/babel" src="./TodoHeader.js"></script>
        <script type="text/babel" src="./TodoItem.js"></script>
        <script type="text/babel" src="./TodoList.js"></script>
        <script type="text/babel" src="./TodoApp.js"></script>

3.主頁面創造一個主容器

     <script type="text/babel">
        const { TodoApp } = window.App;
        ReactDOM.render(
          <TodoApp />, //這邊這個就是容器
          document.getElementById('app')
        );
      </script>

4.拼湊元件

重取window.App出各元件 這邊是es6的語法可以想成是這樣的語法

const {
  InputField,
  TodoHeader,
  TodoList
} = window.App; 

const InputField=window.App.InputField;
const TodoHeader=window.App.TodoHeader;
const TodoList=window.App.TodoList;

const {
  InputField,
  TodoHeader,
  TodoList
} = window.App;   

class TodoApp extends React.Component {
  render() {
    return (
      <div>
        <TodoHeader />
        <InputField />
        <TodoList />
      </div>
    );
  }
}

5.抽離 - 在TodoList中會有許多的TodoItem 這個 TodoItem 也把他抽離出來

    class TodoItem extends React.Component {
      render() {
        return (
          <div>
            <input type="checkbox" />
            <span>Item 1</span>
            <button>x</button>
          </div>
        );
      }
    }

    window.App.TodoItem = TodoItem;

6.TodoList 置換抽離TodoItem元件

        render() {
          return (
            <ul>
              <li>
                <TodoItem />
              </li>
              <li>
                <TodoItem />
              </li>
              <li>
                <TodoItem />
              </li>
            </ul>
          );
        }

以上是Allen大大 線上讀書會主講影片的重點整理 滿輕鬆愉快的一個單元,有任何問題都很歡迎加入線上reactjs讀書會再一起討論,希望藉由知識的opensoruce和日常攻略,可以加速更快的學習體驗,希望有幫助到大家

線上讀書會12月天天都精彩歐 https://goo.gl/CK1ibc
線上讀書會粉絲團 https://www.facebook.com/readbook999/
點選全系列連結,選喜歡的線上讀書會加入並安裝zoom後就等精彩的活動超連結嚕(活動前約30分鐘會公佈)


上一篇
進一步reactjs攻略前先介紹好用的vscode編輯器Tool
下一篇
Reactjs元件之間的參數傳遞與防呆機制
系列文
線上讀書會-2016 年學 JavaScript 是一種什麼樣的體驗30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言