商品編號:DJAA2V-A900G14CO

哎呀!原來 React 這麼有趣好玩:圈叉、貪吃蛇、記憶方塊三款經典遊戲實戰練習(iThome鐵人賽系列書)

$490
$620
折價券
  • P幣

    全盈+PAY單筆消費滿1200回饋80P幣(限量)

  • P幣

    全站限時回饋 指定品單筆滿2000送3%P幣,最高300P幣(限量,送完為止)

  • 登記送

    【全家】單筆滿$350純取貨/取貨付款訂單登記送冰仙女紅茶兌換券乙張(限量)

付款方式
出貨
  • PChome 倉庫出貨,24小時到貨
配送
宅配滿$490免運,超取滿$350免運
  • 宅配到府(本島/低溫)
    滿$699免運
  • 宅配到府(本島/常溫)
    滿$490免運
  • 超商取貨(常溫)
    滿$350免運
  • 超商取貨(低溫)
    滿$699免運
  • i郵箱(常溫)
    滿$290免運
商品詳情
作者:
ISBN:
9786263333772
出版社:
出版日期:
2023/02/23
  • 內文簡介

  • <內容簡介>

    本書內容改編自第 10 屆 iT 邦幫忙鐵人賽
    Modern Web 組網路系列文章
    《以經典小遊戲為主題之 ReactJS 應用練習》

    邊玩邊學習
    透過遊戲和玩樂來學習並非小孩子的專利。遊戲可以令人從過程中得到快樂,遊戲是求知的工具,藉由遊戲的實作來熟練和學習 React 常用語法。

    自助式的學習,不一定要照順序
    對於初學者來說,大量及重複的練習是讓自己進步很重要的要素。本書中三個小遊戲彼此互相獨立,可以按照自己的喜好選擇主題來練習。

    讓你先看見全貌,再帶你一步一步前進
    在幫人指一條很複雜的路的時候,如果沒有先讓人看到整體的地圖,就直接告訴你等一下哪裡要左轉、哪裡要右轉,就算他這次很幸運地到達了,下次要走還是會迷路。本書的實踐會完整的規劃及描述每一個專案的全貌之後,再一步一步帶領讀者完成每一個專案。

    從無到有的完整開發流程
    瞭解從無到有的完整開發流程是很重要的能力。以這些小遊戲為例,本書會帶領讀者如何一步一步的拆解手上的專案,完整的示範從無到有的開發思維及過程。

    搭配完整程式碼練習,事半功倍
    對初學者來說並不是「所有東西」都不會,如果所有程式碼都需要自己敲鍵盤,確實是不太有效率的練習方式。所以本書會提供所有程式碼的連結,讓讀者在練習的時候,可以方便直接複製貼上,因為我相信越有效率的練習,你就能夠省下越多時間去練習你真正不熟悉的地方。


    ★專家推薦:

    如果你剛入門 React,覺得自己對它不夠熟悉,那本書或許會是你的好夥伴,跟著書中的教學一步步做完三個遊戲,相信一定能提升你對 React 的熟悉程度,也能學到許多開發的小技巧。
    Huli
    技術部落格 Huli's blog 站長Huli

    對於處在忙、盲、茫階段的新手來說,不怕沒有前輩帶領,並且十分適合拿來打底;對於老手來說,除了溫故知新,還能省思是否能更完善更有效率的培養團隊,是一份很棒的帶人教材。
    我會將這本書定位為前端新手入門必讀的教科書,也是每位 Web 前端工程師都該擁有的好書!
    Summer
    趨勢科技資深工程師
    《打造高速網站,從網站指標開始!全方位提升使用者體驗與流量的關鍵》
    與技術部落格「Summer。桑莫。夏天」作者

    本書當中除了 React 的基礎概念,泰銘兄也以比較新手的工程師角度出發,一定程度模擬了工程師工作現場的流程,從接到需求到實作層面,詳細的解說各階段流程的思考面向,幫助讀者增強獨立作業的能力。如果你是 React 剛起步的朋友,非常推薦您透過這本書,一窺 React 的神奇世界,透過實作經典的遊戲,打開 React 開發的大門!
    Jimmy Chu
    搞定學院學習社群 創辦人
    知名外商 Hewlett-Packard 資深工程師


    ★目錄:

    CHAPTER 01 準備開發工具及環境
    1.1 準備開發工具
    1.1.1 VSCode
    1.1.2 npm
    1.1.3 Node.js
    1.1.4 nvm
    1.1.5 Google Chrome 瀏覽器
    1.2 準備開發環境
    1.2.1 使用 create-react-app 創建一個專案
    1.2.2 ESLint
    1.2.3 styled-components

    CHAPTER 02 開發流程準備
    2.1 專案介紹
    2.2 規格書
    2.3 設計圖說明
    2.4 任務拆解
    2.4.1 任務拆解的好處
    2.4.2 任務拆解的心法
    2.5 任務實作
    2.6 篇章總結

    CHAPTER 03 技能大補帖
    3.1 CSS Flex
    3.1.1 情境
    3.1.2 介紹
    3.1.3 Flex 的使用
    3.2 CSS Grid
    3.2.1 情境
    3.2.2 介紹
    3.2.3 Grid 的使用
    3.3 React Hook
    3.3.1 useState 簡介
    3.3.2 useEffect 簡介
    3.4 setTimeout 與 setInterval
    3.4.1 setTimeout()
    3.4.2 setInterval()
    3.4.3 取消 setTimeout() 與 setInterval()
    3.4.4 依序印出: 0 1 2 3 4

    CHAPTER 04 圈圈叉叉篇
    4.1 專案介紹
    4.1.1 遊戲簡介
    4.1.2 學習重點
    4.2 規格書
    4.2.1 關於畫面與功能
    4.2.2 關於遊戲邏輯
    4.3 設計圖說明
    4.3.1 桌面版展示
    4.3.2 手機版展示
    4.4 任務拆解
    4.4.1 任務拆解描述
    4.4.2 任務拆解總結
    4.5 任務卡01:準備開發環境
    4.5.1 使用create-react-app 創建一個專案
    4.5.2 安裝ESLint
    4.5.3 安裝styled-components
    4.6 任務卡02:準備全局主題及樣式
    4.6.1 簡介ThemeProvider
    4.6.2 配置ThemeProvider
    4.6.3 配色小幫手
    4.7 任務卡03:畫面佈局切版
    4.7.1 畫面佈局草稿
    4.7.2 畫面佈局樹狀圖
    4.8 任務卡04:設計資料結構
    4.8.1 資訊看板
    4.8.2 九宮格棋盤
    4.8.3 重新開始按鈕
    4.8.4 切換模式
    4.8.5 資料結構總結
    4.9 任務卡05:棋盤刻畫及點擊事件
    4.9.1 規劃出棋盤的範圍
    4.9.2 畫出棋盤上的格子
    4.9.3 點擊棋盤事件
    4.9.4 畫面美化
    4.10 任務卡06:勝負判斷
    4.10.1 比較並選用不同的勝負判斷方法
    4.10.2 實現勝負判斷的函式
    4.10.3 贏家棋子的歡呼動畫
    4.11 任務卡07:資訊看板
    4.11.1 參數說明
    4.11.2 顯示邏輯流程圖
    4.11.3 資訊看板程式碼
    4.11.4 使用CSS Flex 調整顯示內容佈局
    4.12 任務卡08:重新開始按鈕
    4.12.1 重設狀態的函式
    4.12.2 綁定函式到元件上
    4.12.3 畫面美化
    4.13 任務卡09:切換電腦對弈模式
    4.13.1 拿掉輔助線並調整樣式
    4.13.2 Switch 元件刻畫
    4.13.3 電腦對弈函式設計
    4.14 圈圈叉叉篇總結
    4.14.1 回顧
    4.14.2 天馬行空
    4.15 圈圈叉叉篇完整程式碼

    CHAPTER 05 貪吃蛇篇
    5.1 專案介紹
    5.1.1 遊戲簡介
    5.1.2 學習重點
    5.2 規格書
    5.2.1 關於畫面與功能
    5.3 設計圖說明
    5.3.1 桌面版展示
    5.3.2 手機版展示
    5.4 任務拆解
    5.4.1 任務拆解描述
    5.4.2 任務拆解總結
    5.5 任務卡01:準備開發環境
    5.5.1 使用create-react-app 創建一個專案
    5.5.2 安裝ESLint
    5.5.3 安裝styled-components
    5.6 任務卡02:畫面佈局切版
    5.6.1 畫面佈局草稿
    5.6.2 畫面佈局樹狀圖
    5.7 任務卡03:設計資料結構
    5.7.1 貪吃蛇的構造
    5.7.2 貪吃蛇的移動方法
    5.8 任務卡04:地圖
    5.8.1 規劃出地圖的範圍
    5.8.2 刻畫30x30 的貪吃蛇地圖
    5.9 任務卡05:讓貪吃蛇的頭可以地圖上移動
    5.9.1 地圖上畫出貪吃蛇的頭部
    5.9.2 讓貪吃蛇的頭部在地圖上移動
    5.10 任務卡06:加入貪吃蛇的身體
    5.10.1 地圖中畫出蛇的身體
    5.10.2 貪吃蛇身體的移動
    5.11 任務卡07:產生貪吃蛇的食物
    5.12 任務卡08:貪吃蛇吃到食物會變長
    5.12.1 蛇吃到食物
    5.12.2 吃到食物身體要變長
    5.12.3 吃到食物後,蛇的移動速度要加快
    5.12.4 產生新的食物
    5.14.5 顯示目前分數
    5.13 任務卡09:貪吃蛇吃到自己會死
    5.13.1 遊戲結束判斷條件
    5.13.2 遊戲結束時停止貪吃蛇的移動
    5.14 任務卡10:重新開始按鈕
    5.14.1 重新開始按鈕樣式
    5.14.2 重新開始按鈕事件處理
    5.15 任務卡11:虛擬方向鍵及操作
    5.15.1 虛擬方向鍵畫面樣式
    5.15.2 虛擬方向鍵事件處理
    5.16 任務卡12:暫停遊戲
    5.16.1 暫停按鈕畫面樣式
    5.16.2 暫停按鈕事件處理
    5.17 貪吃蛇篇總結
    5.17.1 回顧
    5.17.2 天馬行空
    5.18 貪吃蛇篇完整程式碼

    CHAPTER 06 記憶方塊篇
    6.1 專案介紹
    6.1.1 遊戲簡介
    6.1.2 學習重點
    6.2 規格書
    6.2.1 關於畫面與功能
    6.2.2 遊戲流程
    6.3 設計圖說明
    6.3.1 桌面版展示
    6.3.2 手機版展示
    6.4 任務拆解
    6.4.1 任務拆解描述
    6.4.2 任務拆解總結
    6.5 任務卡01:準備開發環境
    6.5.1 使用create-react-app 創建一個專案
    6.5.2 安裝ESLint
    6.5.3 安裝 styled-components
    6.6 任務卡02:畫面佈局切版
    6.6.1 畫面佈局草稿
    6.6.2 畫面佈局樹狀圖
    6.7 任務卡03:設計資料結構
    6.7.1 目前關卡
    6.7.2 產生題目
    6.7.3 玩家答案
    6.7.4 是否開始遊戲
    6.7.5 機會/ 命
    6.7.6 載入中狀態
    6.8 任務卡04:記憶方塊
    6.8.1 畫出方塊
    6.8.2 點擊事件
    6.9 任務卡05:是否過關的判斷
    6.10 任務卡06:關卡資訊及關卡進度條
    6.10.1 遊戲標題
    6.10.2 關卡資訊
    6.10.3 關卡進度條
    6.11 任務卡07:題目播放
    6.11.1 開始遊戲按鈕
    6.11.2 開始遊戲之後播放題目
    6.11.3 每次過關之後,要播放新的題目
    6.11.4 當玩家答錯的時候,重新播放題目
    6.12 任務卡08:製作過關和不過關的效果
    6.12.1 過關效果
    6.12.2 不過關效果
    6.13 任務卡09:顯示目前還有幾命
    6.14 記憶方塊篇總結
    6.14.1 回顧
    6.14.2 天馬行空
    6.15 記憶方塊篇完整程式碼


    <作者簡介>

    陳泰銘(Taiming)
    自 2017 年開始從事前端工程師工作,擁有 B2C 以及 B2B 系統開發經驗。
    曾於大學期間修習師資培育學程,因此對於教學及教育充滿熱忱,擅長將複雜、艱澀的技術觀念轉化為親民的白話文並且分享。
    2019 年發起 「ShareBack 不藏私分享會」社群,擔任活動企劃籌備以及講師,希望建立一個不藏私、彼此教學相長的平台,讓不論本科系、非本科系的參與者從中獲得知識以及樂趣。

    ✦2019 iT 邦幫忙鐵人賽以《以經典小遊戲為主題之 ReactJS 應用練習》為主題,獲得 Modern Web 組優選。
    ✦2021 iThome 鐵人賽以《30 天擁有一套自己手刻的 React UI 元件庫》為主題,獲得 Modern Web 組佳作。
    ✦2022 iThome 鐵人賽以《防禦性 CSS - 建立「防患未然」的匠人心態》為主題,榮獲 Modern Web 組冠軍。
購物須知
寄送時間
全台灣24h到貨,遲到提供100元現金積點。全年無休,週末假日照常出貨。例外說明
送貨方式
透過宅配送達。除網頁另有特別標示外,均為常溫配送。
消費者訂購之商品若經配送兩次無法送達,再經本公司以電話與Email均無法聯繫逾三天者,本公司將取消該筆訂單,並且全額退款。
送貨範圍
限台灣本島與離島地區註,部分離島地區包括連江馬祖、綠島、蘭嶼、琉球鄉…等貨件,將送至到岸船公司碼頭,需請收貨人自行至碼頭取貨。注意!收件地址請勿為郵政信箱。
註:離島地區不配送安裝商品、手機門號商品、超大材商品及四機商品。
售後服務
缺掉頁更換新品
執照證號&登錄字號
本公司食品業者登錄字號A-116606102-00000-0
關於退貨
  • PChome24h購物的消費者,都可以依照消費者保護法的規定,享有商品貨到次日起七天猶豫期的權益。(請留意猶豫期非試用期!!)您所退回的商品必須回復原狀(復原至商品到貨時的原始狀態並且保持完整包裝,包括商品本體、配件、贈品、保證書、原廠包裝及所有附隨文件或資料的完整性)。商品一經拆封/啟用保固,將使商品價值減損,您理解本公司將依法收取回復原狀必要之費用(若無法復原,費用將以商品價值損失計算),請先確認商品正確、外觀可接受再行使用,以免影響您的權利,祝您購物順心。
  • 如果您所購買商品是下列特殊商品,請留意下述退貨注意事項:
    1. 易於腐敗之商品、保存期限較短之商品、客製化商品、報紙、期刊、雜誌,依據消費者保護法之規定,於收受商品後將無法享有七天猶豫期之權益且不得辦理退貨。
    2. 影音商品、電腦軟體或個人衛生用品等一經拆封即無法回復原狀的商品,在您還不確定是否要辦理退貨以前,請勿拆封,一經拆封則依消費者保護法之規定,無法享有七天猶豫期之權益且不得辦理退貨。
    3. 非以有形媒介提供之數位內容或一經提供即為完成之線上服務,一經您事先同意後始提供者,依消費者保護法之規定,您將無法享有七天猶豫期之權益且不得辦理退貨。
    4. 組合商品於辦理退貨時,應將組合銷售商品一同退貨,若有遺失、毀損或缺件,PChome將可能要求您依照損毀程度負擔回復原狀必要之費用。
  • 若您需辦理退貨,請利用顧客中心「查訂單」或「退訂/退款查詢」的「退訂/退貨」功能填寫申請,我們將於接獲申請之次日起1個工作天內檢視您的退貨要求,檢視完畢後將以E-mail回覆通知您,並將委託本公司指定之宅配公司,在5個工作天內透過電話與您連絡前往取回退貨商品。請您保持電話暢通,並備妥原商品及所有包裝及附件,以便於交付予本公司指定之宅配公司取回(宅配公司僅負責收件,退貨商品仍由特約廠商進行驗收),宅配公司取件後會提供簽收單據給您,請注意留存。
  • 退回商品時,請以本公司或特約廠商寄送商品給您時所使用的外包裝(紙箱或包裝袋),原封包裝後交付給前來取件的宅配公司;如果本公司或特約廠商寄送商品給您時所使用的外包裝(紙箱或包裝袋)已經遺失,請您在商品原廠外盒之外,再以其他適當的包裝盒進行包裝,切勿任由宅配單直接粘貼在商品原廠外盒上或書寫文字。
  • 若因您要求退貨或換貨、或因本公司無法接受您全部或部分之訂單、或因契約解除或失其效力,而需為您辦理退款事宜時,您同意本公司得代您處理發票或折讓單等相關法令所要求之單據,以利本公司為您辦理退款。
  • 本公司收到您所提出的申請後,若經確認無誤,將依消費者保護法之相關規定,返還您已支付之對價(含信用卡交易),退款日當天會再發送E-mail通知函給您。