iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 1
1
自我挑戰組

請你當我的好朋友吧!ReactJS!系列 第 1

【DAY 01】你好React,我可以當你好朋友嗎?

【前言】
  咳咳,我是Hyora,一個剛滿四個月、天天都很厭世、擔心什麼時候會被火掉的超廢前端工程師。雖是本科系出身,但大學程式課程要不是低空飛過,不然就是能逃就逃,孰不知現在畢業兩年了,不僅又先去重新學習寫程式,現在居然還成為了前端工程師,這一切實在是太荒謬了太荒謬了,這就是因果阿因果(嘆氣......
  阿,扯遠了,其實會使用React真的只是因為現在工作需要才開始碰React,然而到現在四個月了還是一堆地方不太懂,所以這也是我為什麼會參加這次的鐵人賽啦!

【計畫】
  這30天呢,最主要目的就是重新把React的基礎觀念再重新建構起來,順便再把這心得記錄下來而已(笑。至於內容可能會包括「React」、「Redux」、「React-Router」這三大塊囉。

【期許】
  當然是可以默默寫完這30天,但更希望是自己可以透過這30天的紀錄,讓自己更透徹React的世界就是了。也希望如果有人也正好在學習React的話也能幫到一些忙這樣子。

  那就讓我們一起踏入被React擁(ㄑㄧㄤˊ)抱(ㄅㄠˋ)的世界吧!


  React是在2013年由Facebook開放原始碼供全世界的人開始做使用,雖然之前有過一些版權爭議,但現在都已經是MIT授權囉,所以大家是可以放心使用在專案上的。
  React不僅目前在GitHub上已經有超過10萬的星星數,在職缺上也是很多的,有許多知名公司(如蝦皮、Instagram都是用React寫呢!那到底React是什麼呢?

React is a JavaScript library for building user interfaces.

  這句話就大概可以介紹完React到底是誰了吧(誤,就像官方文件說的,React是一個建構使用者介面的Javascript的函式庫。(我一開始一直以為React是一個完整的框架

  React在官方文件也寫到,它主打了這三個核心價值:

  • Declarative

  宣告式?是的,React基本上鼓勵使用宣告式的方式來撰寫UI介面。這樣在使用者與網頁在互動時所發生變化的時候,介面可以因應狀態的不同而做出正確且對的更新。而且這也會讓我們的程式碼更加容易理解﹑除錯。

  • Component-Based

  在利用React所寫出的網頁都是由一塊一塊的Component(組件)組合出來的,就好比積木蓋城堡一樣,你必須要不同的形狀、顏色的積木才可以製造出許多美麗的城堡或是飛機等等,我們也是利用一塊又一塊的Component來建構一張張的網頁呢。此外我們可以在不影響DOM元素之下,讓每個Component擁有State(狀態),並對這些Component傳遞data。

  • Learn Once, Write Anywhere

  這是React的另一個特色,React有一個基於React所出來的React-Native,它可以寫出橫跨Android跟iOS的APP,不過目前為止功力還不夠,還沒有辦法體會Learn One, Write Anywhere的感覺(笑,我想我還是先把基礎觀念建構起來再說吧!

那今天就先這樣子吧!,希望這篇可以讓大家知道初步認識React!
希望明天可以如期寫得出來(吶喊

我怎麼覺得我好像做了一件不該做的事.....


下一篇
【DAY 02】蝦咪?ES6、Babel、JSX要先來鑑定?
系列文
請你當我的好朋友吧!ReactJS!30

尚未有邦友留言

立即登入留言