profile
viewpoint
Eddy Chang eyesofkids Techpro.Taiwan Taipei, Taiwan eddychang.me

eyesofkids/ironman2017 142

for IThome ironman 2017

eyesofkids/javascript-entry-level-es6 15

For gitbook: javascript-entry-level-es6

eyesofkids/javascript-style-guide-translate 12

Translate from other javascript style guide

eyesofkids/joomla3-zhtw-translate 8

Chinese Traditional(zh-TW) language translation for Joomla! 3.x

eyesofkids/learing-reactjs-by-example 6

react-boilerplate for learning React

eyesofkids/epiceditor-for-joomla 5

EpicEditor for Joomla! and others plugins, useful addons.

eyesofkids/javascript-es6-promise 5

JavaScript ES6 Promise Tutorial Gitbook

eyesofkids/atom-packages-list 4

Atom Editor packages list file for bulk installed extensions quickly.

eyesofkids/Developing_iOS_8_Apps_With_Swift 2

Stanford 公开课,Developing iOS 8 Apps with Swift 字幕繁體中文校對

eyesofkids/js-code-style 2

JavaScript Code Style Tutorial

push eventeyesofkids/js-204

Eddy Chang

commit sha 665584b30c04f757e2ff0ffb36db19bb51b5b34c

add docs

view details

Eddy Chang

commit sha 08fd6d5ecf19df1e86de3bc8970fd6cb7105dd57

Merge branch 'master' of https://github.com/eyesofkids/js-204

view details

push time in 4 hours

startedniklasvh/html2canvas

started time in 2 days

push eventeyesofkids/js-204

Eddy Chang

commit sha 4ec787436e2b10bd38100b9e681a5f4ad854e9dd

up

view details

push time in 5 days

push eventeyesofkids/js-204

Eddy Chang

commit sha 29698b1a8539e741c33f7900942510c7ee60d10c

add

view details

push time in 5 days

issue openedeyesofkids/js-204

[補充]如何發問程式碼相關問題

使用line之類的通訊軟體

結合以下能展示你的程式碼的工具,如gist或自己開一個github的issue或repo(儲存庫) 利用通訊軟體留言,給連結為主 也可以約時間直接線上會議,一般常見使用teamviewer或zoom等線上會議軟體。

使用Gist

Gist 是 Github 的一個服務,且任何人都可以使用這個服務,不論你是否擁有 Github 帳號。以開發者的角度來說,最基本的功能就是可以分享片段的原始碼。有別於 Github 的 Repository,Gist 可以只分享專案中的某一個小檔案中的程式碼,且擁有私人的選項,讓別人不會搜尋到你的 Gist。Gist 是免費的服務。

使用Github的issue

可以附圖、附檔(記得先zip壓縮)、貼上程式碼,語法為markdown。

使用Code沙盒的線上工具

  • (react專案推薦): https://codesandbox.io/
  • https://codepen.io/
  • https://jsfiddle.net/
  • https://jsbin.com/

created time in 5 days

push eventeyesofkids/js-204

Eddy Chang

commit sha c0e130dac332d0764ebd95dedba4f784360a7b1e

add 0807 docs

view details

push time in 5 days

push eventeyesofkids/js-204

Eddy Chang

commit sha 9e5241a420ed67bffb79fb0c68d64192d262282e

Update index.js

view details

Eddy Chang

commit sha c7dc974233c12fde47ba6746fb6eaabf3795e0f8

Merge branch 'master' of https://github.com/eyesofkids/js-204

view details

Eddy Chang

commit sha e8704eaea97c9e7e3248d685980f7a7a41cfbe31

Merge branch 'master' of https://github.com/eyesofkids/js-204

view details

push time in 6 days

push eventeyesofkids/js-204

Eddy Chang

commit sha c8f58ec57c8908c2d1bb3f6ded8b6ef6d056734f

Create .gitignore

view details

Eddy Chang

commit sha ca2af76ba4a24103af2e7c8d4a79de6fbe5274e0

Merge branch 'master' of https://github.com/eyesofkids/js-204

view details

push time in 6 days

issue openedeyesofkids/js-204

JS學習與參考資源

年度調查報告

  • https://2019.stateofjs.com/
  • https://insights.stackoverflow.com/survey/2019#technology

風格指引

學習資源

created time in 6 days

MemberEvent

push eventeyesofkids/js-204

Eddy Chang

commit sha a136558a4fd543bd85c87be15c5b0cbbf3698378

add

view details

push time in 6 days

push eventeyesofkids/js-204

Eddy Chang

commit sha efbccb954da68d4745640aef9cf20caddec629cc

Create JS保留字.md

view details

push time in 6 days

push eventeyesofkids/js-204

Eddy Chang

commit sha b02a9ab823fcbd7ee9475959b9cf2562f81c36b3

add 0806 docs

view details

push time in 6 days

push eventeyesofkids/js-204

Eddy Chang

commit sha a8b69e804521d562dda6fb70414e434384960b19

Create 建置環境.md

view details

push time in 6 days

fork eyesofkids/mdx-deck

♠️ React MDX-based presentation decks

https://mdx-deck.jxnblk.com

fork in 6 days

create barncheyesofkids/js-204

branch : master

created branch time in 6 days

created repositoryeyesofkids/js-204

created time in 6 days

startedspkingr/Godot-Demos

started time in 11 days

push eventeyesofkids/react-env

Eddy Chang

commit sha 5ac92bf11a131ccdee604c01066f710676b2c380

add node express commonjs

view details

push time in 12 days

startedGodotExplorer/spine

started time in 13 days

startedHermanNygaard/react-scroll-to-top

started time in 15 days

startedEikanya/Live2d-model

started time in 16 days

startedHimehane/live2d_on_website

started time in 17 days

fork eyesofkids/live2d_on_website

一个让Live2D展现在你的网页上的Demo 使用Cubism 3, A Live2D on your website demo use Cubism 3

https://himehane.club/live2d_on_website/

fork in 17 days

push eventeyesofkids/react-typescript-cheatsheet

Eddy Chang

commit sha 7540c06f3d52c369b48f309ee0cdcf060c951c00

rename doc directory

view details

push time in 18 days

push eventeyesofkids/react-typescript-cheatsheet

Eddy Chang

commit sha 389cdabecb6b21ad591cccf6630ea46330e26b99

add zh-TW folder for docs

view details

push time in 18 days

starteddvtng/react-loading-skeleton

started time in 18 days

startedshukerullah/react-geocode

started time in 19 days

startedAdeleD/react-paginate

started time in 19 days

startedankeetmaini/react-infinite-scroll-component

started time in 19 days

starteddavidhu2000/react-spinners

started time in 20 days

startedinlet/react-pixi

started time in 20 days

startedmichalochman/react-pixi-fiber

started time in 20 days

starteddailydotdev/daily

started time in 21 days

startedgorhom/react-native-animated-tabbar

started time in 21 days

startedscurker/currency.js

started time in 21 days

startedavgjs/avg-core

started time in 22 days

startedliuderchi/atom-i18n

started time in 22 days

startedrenpy/renpy

started time in 22 days

startedsvaarala/duktape

started time in 22 days

push eventeyesofkids/react-env

Eddy Chang

commit sha f8c97c1b78de108f4811b221b860f6fb349827cb

Update .gitignore

view details

push time in 25 days

push eventeyesofkids/react-env

Eddy Chang

commit sha 3f5605593ba6b7a78c208a4898063d026a0573b6

add node-ts from folk

view details

Eddy Chang

commit sha 784653b728f9fe094daeb08a921b95a9d84cf07f

Update .DS_Store

view details

Eddy Chang

commit sha b91de32eb7804cec6925cb3733cf7b7dcad9fe8d

Merge branch 'master' of https://github.com/eyesofkids/react-env

view details

push time in 25 days

push eventeyesofkids/simple-typescript-starter

Eddy Chang

commit sha 479a1ec5d72fd6d17a8d54a9dbff3b47896f7241

Update .gitignore

view details

push time in 25 days

push eventeyesofkids/simple-typescript-starter

Eddy Chang

commit sha beffc6fec4a86b85e6d035b0fd5aa71d9e8fe9db

add test

view details

push time in 25 days

push eventeyesofkids/simple-typescript-starter

Eddy Chang

commit sha 5ff2cd2423a393d2434170d4e4a67b798c4beedc

up some config

view details

push time in 25 days

startedstemmlerjs/simple-typescript-starter

started time in 25 days

startedreact-native-community/jsc-android-buildscripts

started time in 25 days

startedpierpo/react-archer

started time in a month

startedpomber/code-surfer

started time in a month

startedjxnblk/mdx-deck

started time in a month

startedPopmotion/popmotion

started time in a month

startedseeden/react-facebook

started time in a month

push eventeyesofkids/react-env

Eddy Chang

commit sha cb55a739606efa80ca5fcf256a55714fa1a92ad8

Delete .DS_Store

view details

push time in a month

push eventeyesofkids/react-env

Eddy Chang

commit sha a2d2b5356b34a41c3e31ed2ef92f683b41bf7210

add node and prettierignore

view details

Eddy Chang

commit sha 80e9e4e2060cdf3cd4567d9430f127e1e8af09f7

Merge branch 'master' of https://github.com/eyesofkids/react-env

view details

push time in a month

startedC2FO/fast-csv

started time in a month

startedzenozeng/fonts.css

started time in a month

push eventeyesofkids/react-env

Eddy Chang

commit sha e2235f0b07d44b1148b1bffddb41565255265d00

Update README.md

view details

push time in a month

issue openedeyesofkids/201

React - 忘記密碼流程

資料庫有一個 forget-password 資料表,欄位 id, userid, check-code, created hash

  1. ForgetPassword 元件(頁面)
  • email(username)欄位, 送出按鈕, google驗証
  1. 送出後,記錄在資料表中,寄email (email中有一個連結:http://localhost:3000/reset-password/?XXdjflkjsljlkdfjalXX),hash在伺服器端作

  2. ResetPassword元件(頁面)

  • password欄位, 送出按鈕
  1. 送出後,如果hash正確,更動user資料表中的密碼

created time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 0e326372ec42ee311ae8cb6caa46ab564a7760e3

delete sample images

view details

push time in 2 months

issue openedeyesofkids/201

[補充]node上傳單張圖片和多張圖片

下載範例

https://github.com/eyesofkids/201/tree/master/samples/node-express-fileupload

安裝

npm install

啟動

node index.js

測試(postman)

postman-test-single-file

postman-test-multi-files

React Bootstrap元件

  • https://react-bootstrap.github.io/components/forms/#forms-custom-file

參考教學

  • https://attacomsian.com/blog/uploading-files-nodejs-express

created time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha a77fe5ec56e64230b77b39a24ee81280a7f87bff

add upload files sample

view details

push time in 2 months

issue openedeyesofkids/201

[補充]如何發問程式碼相關問題

使用line之類的通訊軟體

結合以下能展示你的程式碼的工具,如gist或自己開一個github的issue或repo(儲存庫) 利用通訊軟體留言,給連結為主 也可以約時間直接線上會議,一般常見使用teamviewer或zoom等線上會議軟體。

使用Gist

Gist 是 Github 的一個服務,且任何人都可以使用這個服務,不論你是否擁有 Github 帳號。以開發者的角度來說,最基本的功能就是可以分享片段的原始碼。有別於 Github 的 Repository,Gist 可以只分享專案中的某一個小檔案中的程式碼,且擁有私人的選項,讓別人不會搜尋到你的 Gist。Gist 是免費的服務。

使用Github的issue

可以附圖、附檔(記得先zip壓縮)、貼上程式碼,語法為markdown。

使用Code沙盒的線上工具

  • (react專案推薦): https://codesandbox.io/
  • https://codepen.io/
  • https://jsfiddle.net/
  • https://jsbin.com/

created time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 5bf3d76084fcd4ac785fad8382b2d5204e43ba48

ADD

view details

push time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 4fd18e92bbcc03a1815d646aa8a7a7c1b5ca9fc4

del

view details

Eddy Chang

commit sha 493c7365dd20b94cb7f7ffb8ca148c8a6dc3b7d0

Merge branch 'master' of https://github.com/eyesofkids/201

view details

push time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 3ffae2f5a08c6d0155c1398f5331a6cbe7972210

add

view details

Eddy Chang

commit sha 30e140fbdc647f67e3db124a4540ab1d4e6fe0a0

Merge branch 'master' of https://github.com/eyesofkids/201

view details

push time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 1effcb5a8237e7e4614b731bebf7535615d5a272

add

view details

Eddy Chang

commit sha 4666ad8954fd504f32398bb70fbfb834bfbd52ae

Merge branch 'master' of https://github.com/eyesofkids/201

view details

push time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 02282854ea6e27a906707448ab897185b163aa13

Create index.js

view details

push time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha bb0881e9a5dcb034527a7db03bc8d64496bc6e03

Create Couter.js

view details

push time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 0053549e1324fe33261a15807d43d5832266cff2

add

view details

push time in 2 months

startedprocessing/p5.js

started time in 2 months

startedviromedia/virocore

started time in 2 months

issue openedeyesofkids/u227

APK打包上架過程


以rn方式執行android:

  • https://github.com/viromedia/viro

created time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha f33fcd056a7917b6f378c0d12528d4c832bd172d

UP

view details

Eddy Chang

commit sha 68e94fe6e31b11b23c75b2500da8e9d7807ab0cc

Merge branch 'master' of https://github.com/eyesofkids/201

view details

push time in 2 months

issue openedeyesofkids/201

requestToSever範例

requestToServer = (url, method, data = {}) => {
    // GET方法不有body,先設定出樣版物件
    const requestTemplate = new Request(url, {
      method: method,
      headers: new Headers({
        Accept: 'application/json',
        'Content-Type': 'application/json',
      }),
    })

    let req = requestTemplate

    // 如果不是GET再加上body
    if (method !== 'GET')
      req = new Request(requestTemplate, { body: JSON.stringify(data) })

    fetch(req)
      .then(response => {
        // 直接轉換JSON格式為物件、字串、數字…
        return response.json()
      })
      .then(jsonObject => {
        // jsonObject會是一個JavaScript物件
        if (method === 'GET')
          this.setState({
            todos: jsonObject,
          })
        console.log(jsonObject)
      })
      .catch(error => {
        // Error
        this.setState({ result: error })
        console.log('錯誤訊息', error)
      })
  }

created time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 1c2f94e7defb8e8cbc12e69dde4469f8ab85b63f

Update database.js

view details

push time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 67365ce3467644f8e2fd56cbbc0a0a33880a448a

up

view details

Eddy Chang

commit sha e2ebbdf29a416f27d455382e95d0efc07fe605e3

Merge branch 'master' of https://github.com/eyesofkids/201

view details

push time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 9bf57369e6bf3f5228e89d08b10f0e399b2fafa5

Create CounterJSONServer.js

view details

push time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 1e6e9f9bbc62d443da2a4e63be77f9cb9fc38cb3

add

view details

push time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 313748b889cf2d446d10e5e3f2a169ebac1590c8

add

view details

push time in 2 months

issue commenteyesofkids/201

t

import React, { useState, useEffect } from 'react'

function ProductList() {
  const [mycart, setMycart] = useState([])
  const [dataLoading, setDataLoading] = useState(false)

  function updateCartToLocalStorage(value) {
    // 開啟載入指示
    setDataLoading(true)

    const currentCart = JSON.parse(localStorage.getItem('cart')) || []

    console.log('currentCart', currentCart)

    const newCart = [...currentCart, value]
    localStorage.setItem('cart', JSON.stringify(newCart))

    console.log('newCart', newCart)
    // 設定資料
    setMycart(newCart)
  }

  // 一開始就會開始載入資料
  useEffect(() => {
    //getTotalFromLocalStorage()
  }, [])

  // 每次total資料有變動就會3秒後關掉載入指示
  useEffect(() => {
    setTimeout(() => {
      setDataLoading(false)
    }, 500)
  }, [mycart])

  const loading = (
    <>
      <div className="d-flex justify-content-center">
        <div className="spinner-border" role="status">
          <span className="sr-only">Loading...</span>
        </div>
      </div>
    </>
  )

  const display = (
    <>
      <div className="card-deck">
        <div className="card">
          <img
            src="https://via.placeholder.com/250x150"
            className="card-img-top"
            alt="..."
          />
          <div className="card-body">
            <h5 className="card-title">iphone XS</h5>
            <p className="card-text">
              This is a longer card with supporting text below as a natural
              lead-in to additional content. This content is a little bit
              longer.
            </p>
            <p className="card-text text-danger">NTD 15000元</p>
          </div>
          <div className="card-footer">
            <button
              type="button"
              className="btn btn-success"
              onClick={() => {
                updateCartToLocalStorage({
                  id: 1,
                  name: 'iphone x',
                  amount: 1,
                  price: 15000,
                })
              }}
            >
              加入購物車
            </button>
          </div>
        </div>
        <div className="card">
          <img
            src="https://via.placeholder.com/250x150"
            className="card-img-top"
            alt="..."
          />
          <div className="card-body">
            <h5 className="card-title">Book</h5>
            <p className="card-text">
              This card has supporting text below as a natural lead-in to
              additional content.
            </p>
            <p className="card-text text-danger">NTD 200元</p>
          </div>
          <div className="card-footer">
            <button
              type="button"
              className="btn btn-success"
              onClick={() => {
                updateCartToLocalStorage({
                  id: 3,
                  name: 'book',
                  amount: 1,
                  price: 200,
                })
              }}
            >
              加入購物車
            </button>
          </div>
        </div>
        <div className="card">
          <img
            src="https://via.placeholder.com/250x150"
            className="card-img-top"
            alt="..."
          />
          <div className="card-body">
            <h5 className="card-title">iPad</h5>
            <p className="card-text">
              This is a wider card with supporting text below as a natural
              lead-in to additional content. This card has even longer content
              than the first to show that equal height action.
            </p>
            <p className="card-text text-danger">NTD 21000元</p>
          </div>
          <div className="card-footer">
            <button
              type="button"
              className="btn btn-success"
              onClick={() => {
                updateCartToLocalStorage({
                  id: 2,
                  name: 'ipad',
                  amount: 1,
                  price: 21000,
                })
              }}
            >
              加入購物車
            </button>
          </div>
        </div>
      </div>
    </>
  )

  return (
    <>
      <div className="container">{dataLoading ? loading : display}</div>
    </>
  )
}

export default ProductList

eyesofkids

comment created time in 2 months

IssuesEvent

issue closedeyesofkids/201

t

import React, { useState, useEffect } from 'react'

function Cart() {
  const [mycart, setMycart] = useState([])
  const [mycartDisplay, setMycartDisplay] = useState([])
  const [dataLoading, setDataLoading] = useState(false)

  function getCartFromLocalStorage() {
    // 開啟載入指示
    setDataLoading(true)

    const newCart = localStorage.getItem('cart') || []

    console.log(JSON.parse(newCart))

    // 設定資料
    setMycart(JSON.parse(newCart))
  }

  // 一開始就會開始載入資料
  useEffect(() => {
    getCartFromLocalStorage()
  }, [])

  // 每次mycart資料有變動就會2秒後關掉載入指示
  useEffect(() => {
    setTimeout(() => {
      setDataLoading(false)
    }, 1000)

    let newMycartDisplay = []

    console.log('mycartDisplay', mycartDisplay)
    console.log('mycart', mycart)

    //尋找mycartDisplay
    for (let i = 0; i < mycart.length; i++) {
      //尋找mycartDisplay中有沒有此mycart[i].id
      //有找到會返回陣列成員的索引值
      //沒找到會返回-1
      const index = newMycartDisplay.findIndex(
        (value) => value.id === mycart[i].id
      )
      //有的話就數量+1
      if (index !== -1) {
        console.log('findindex', index)
        //每次只有加1個數量
        //newMycartDisplay[index].amount++
        //假設是加數量的
        newMycartDisplay[index].amount += mycart[i].amount
      } else {
        //沒有的話就把項目加入,數量為1
        const newItem = { ...mycart[i] }
        newMycartDisplay = [...newMycartDisplay, newItem]
      }
    }

    console.log(newMycartDisplay)
    setMycartDisplay(newMycartDisplay)
  }, [mycart])

  // 計算總價用的函式
  function sum(items) {
    let total = 0
    for (let i = 0; i < items.length; i++) {
      total += items[i].amount * items[i].price
    }
    return total
  }

  const loading = (
    <>
      <div className="d-flex justify-content-center">
        <div className="spinner-border" role="status">
          <span className="sr-only">Loading...</span>
        </div>
      </div>
    </>
  )

  const display = (
    <>
      <ul className="list-group">
        {mycartDisplay.map((value, index) => {
          return (
            <li className="list-group-item" key={value.id}>
              產品:{value.name}/數量:{value.amount}/單價:{value.price}/
              {'   '}
              小計:{value.amount * value.price}
            </li>
          )
        })}
      </ul>
      {/* 判斷mycartDisplay是否在初次render的階段 */}
      {mycartDisplay.length > 0 ? <h3>總價:{sum(mycartDisplay)}</h3> : ''}
    </>
  )

  return (
    <>
      <div className="container">{dataLoading ? loading : display}</div>
    </>
  )
}

export default Cart

closed time in 2 months

eyesofkids

issue openedeyesofkids/201

t

import React, { useState, useEffect } from 'react'

function Cart() {
  const [mycart, setMycart] = useState([])
  const [mycartDisplay, setMycartDisplay] = useState([])
  const [dataLoading, setDataLoading] = useState(false)

  function getCartFromLocalStorage() {
    // 開啟載入指示
    setDataLoading(true)

    const newCart = localStorage.getItem('cart') || []

    console.log(JSON.parse(newCart))

    // 設定資料
    setMycart(JSON.parse(newCart))
  }

  // 一開始就會開始載入資料
  useEffect(() => {
    getCartFromLocalStorage()
  }, [])

  // 每次mycart資料有變動就會2秒後關掉載入指示
  useEffect(() => {
    setTimeout(() => {
      setDataLoading(false)
    }, 1000)

    let newMycartDisplay = []

    console.log('mycartDisplay', mycartDisplay)
    console.log('mycart', mycart)

    //尋找mycartDisplay
    for (let i = 0; i < mycart.length; i++) {
      //尋找mycartDisplay中有沒有此mycart[i].id
      //有找到會返回陣列成員的索引值
      //沒找到會返回-1
      const index = newMycartDisplay.findIndex(
        (value) => value.id === mycart[i].id
      )
      //有的話就數量+1
      if (index !== -1) {
        console.log('findindex', index)
        //每次只有加1個數量
        //newMycartDisplay[index].amount++
        //假設是加數量的
        newMycartDisplay[index].amount += mycart[i].amount
      } else {
        //沒有的話就把項目加入,數量為1
        const newItem = { ...mycart[i] }
        newMycartDisplay = [...newMycartDisplay, newItem]
      }
    }

    console.log(newMycartDisplay)
    setMycartDisplay(newMycartDisplay)
  }, [mycart])

  // 計算總價用的函式
  function sum(items) {
    let total = 0
    for (let i = 0; i < items.length; i++) {
      total += items[i].amount * items[i].price
    }
    return total
  }

  const loading = (
    <>
      <div className="d-flex justify-content-center">
        <div className="spinner-border" role="status">
          <span className="sr-only">Loading...</span>
        </div>
      </div>
    </>
  )

  const display = (
    <>
      <ul className="list-group">
        {mycartDisplay.map((value, index) => {
          return (
            <li className="list-group-item" key={value.id}>
              產品:{value.name}/數量:{value.amount}/單價:{value.price}/
              {'   '}
              小計:{value.amount * value.price}
            </li>
          )
        })}
      </ul>
      {/* 判斷mycartDisplay是否在初次render的階段 */}
      {mycartDisplay.length > 0 ? <h3>總價:{sum(mycartDisplay)}</h3> : ''}
    </>
  )

  return (
    <>
      <div className="container">{dataLoading ? loading : display}</div>
    </>
  )
}

export default Cart

created time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 9f7617829aa2551b713934f18ec33903f8485e0e

up

view details

push time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha a9f8840b9bb2a3048081b08d5490802656d2aeff

up

view details

Eddy Chang

commit sha d3799741fe9eda0410ba859e8e7236b23407956d

Merge branch 'master' of https://github.com/eyesofkids/201

view details

push time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 68e6ebfdea95a70903081faaab5226addb1cbacc

Create ProtectedRoute.js

view details

Eddy Chang

commit sha 0961e9a0ae55ca44241ecb67f61badeacc9bec9f

Merge branch 'master' of https://github.com/eyesofkids/201

view details

push time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 4b92bb4f7c202fe55d16f03a20a9e2f060780200

add

view details

push time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha d350d446398403bc951582cac4919c7bcb922ba3

up

view details

Eddy Chang

commit sha da064eba41089ff06fd458f5524a41707068af4a

Merge branch 'master' of https://github.com/eyesofkids/201

view details

push time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 11c32360aa77f9084d0416f08224e2a3b5f1c69a

add

view details

push time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 396cbdcc6b6f315e9a23f04c89a206655da1fbf5

Create react投影片-狀態-屬性-生命周期.pdf

view details

Eddy Chang

commit sha 749e08ed126feccaa3db60501831d4d8d2034a6d

Merge branch 'master' of https://github.com/eyesofkids/201

view details

push time in 2 months

push eventeyesofkids/react-env

Eddy Chang

commit sha 6d5bd1c33e78a911de2b9ec9b80d283f5d064ec1

add

view details

push time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 628d4fd5009a10109bc9f869977b8ab641ce5d36

Update .prettierrc

view details

push time in 2 months

push eventeyesofkids/201

Eddy Chang

commit sha 879258b9d7ddf2c15521f8af27269c9e19858e23

Create react-props-comm-image.pdf

view details

Eddy Chang

commit sha f78a61aad91d070a5f164ec79b7f02229d9a008b

Merge branch 'master' of https://github.com/eyesofkids/201

view details

push time in 2 months

more