作者:徐澈
鏈接:https://www.zhihu.com/question/51804158/answer/127582470
來(lái)源:知乎
著作權(quán)歸作者所有闰靴。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)彪笼,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
不知道題主是剛?cè)腴T呢蚂且,還是已經(jīng)小成配猫,打算跟進(jìn)潮流。不同階段杏死,回答的時(shí)候給出的建議當(dāng)然不太一樣泵肄。
我的資料源一般來(lái)自 github捆交、微博、推特腐巢、medium 品追。是的,我個(gè)人比較喜歡看看博客冯丙,或者更有干貨的討論诵盼,屬于窺屏黨。所以列表里沒(méi)有什么社區(qū)银还,也不知道有什么QQ 群风宁,個(gè)人也不太喜歡看視頻...
強(qiáng)烈建議不要買任何實(shí)體書。用一些不準(zhǔn)確的數(shù)字描述下:
框架產(chǎn)生到框架流行蛹疯,需要個(gè)把月戒财;
流行了才會(huì)有人寫書,寫書又要個(gè)把月捺弦;
寫完書等翻譯饮寞,又要個(gè)把月。
算算一年過(guò)去了列吼,等到這本譯書實(shí)際到你手里的時(shí)候幽崩,版本號(hào)都從0.x提到15了,書上的例子還能不能跑起來(lái)都是個(gè)問(wèn)題...
鑒于此寞钥,入門的話一般官網(wǎng)即可慌申,中文文檔貌似會(huì)比較滯后,推薦英文文檔理郑。
然后建議直接上手去寫蹄溉,不要多想,不用考慮是不是符合 xxx in patterns... 這種事情還是回過(guò)頭來(lái)考慮您炉。
最好找個(gè)人給你講一下柒爵,因?yàn)槿绻婚_始不懂 ES6 ,不懂 webpack 赚爵,會(huì)被這些暫時(shí)不需要 care 的語(yǔ)法糖和復(fù)雜度弄暈棉胀,很難快速了解 react 的本身到底做了什么。如果關(guān)系比較好冀膝,寫完讓他幫忙 review 下唁奢。
下面有一份不知道有沒(méi)有過(guò)時(shí)的文檔列表,先后順序隨機(jī)畸写,列幾個(gè)看完覺得還可以的驮瞧。
react 解疑https://github.com/timarney/react-faq
react 是什么鬼https://github.com/petehunt/react-howto
react 模式https://github.com/krasimir/react-in-patterns
react 操哭你https://github.com/gaearon/react-makes-you-sad
react 初學(xué)者必須知道的九件事https://camjackson.net/post/9-things-every-reactjs-beginner-should-know
知乎上的 pure render 專欄、leanreact 專欄
medium 上 redux 的作者@dan_abramov的所有文章
翻了下自己的存檔,發(fā)現(xiàn)很多東西都比較細(xì)狂魔,就沒(méi)有再列了蒜埋。但是讀完這些應(yīng)該對(duì) React 已經(jīng)比較熟悉了。
如果你是一個(gè)有經(jīng)驗(yàn)的前端最楷,不妨試試去寫一個(gè)之前實(shí)現(xiàn)過(guò)的東西整份,這樣你在寫的時(shí)候不會(huì)過(guò)多懷疑自己是不會(huì)實(shí)現(xiàn)業(yè)務(wù)邏輯還是不懂 react。等你寫完找朋友 review 一下籽孙。
如果你還是嫌不夠烈评,那就多寫,爭(zhēng)取在生產(chǎn)環(huán)境中去寫犯建,和同事一起改進(jìn)讲冠。小型的Todo MVC ,根本遇不到一些生成環(huán)境中才會(huì)出現(xiàn)的問(wèn)題适瓦,在這種應(yīng)用里考慮哪里該用什么寫法竿开,也是無(wú)的放矢。
最后玻熙,可以去推特和 medium 上關(guān)注下
redux 的作者Dan Abramov
react-router 的作者Ryan Florence
其它 react 團(tuán)隊(duì)的維護(hù)者和貢獻(xiàn)者
類似框架的作者否彩,比如 cycle.js 的作者André Staltz
關(guān)注一個(gè)等于關(guān)注一波,所以我也不報(bào)菜名了嗦随。
React 本身是蠻簡(jiǎn)單的列荔,但是配套的整個(gè)技術(shù)棧要掌握要花點(diǎn)時(shí)間。尤其是很多東西社區(qū)里并無(wú)指定范式和標(biāo)準(zhǔn)称杨,根據(jù)項(xiàng)目大小肌毅,完全可以選擇不同的類庫(kù)筷转。比如不一定是用 redux姑原,可以是 mobx。最終的代碼和解決方案呜舒,非扯а矗考驗(yàn)開發(fā)者自己的品味。
建議把 vue 袭蝗、Angular2 也看看唤殴,這三大框架都在互相借鑒吸收,為解決同樣的問(wèn)題有著類似的方案到腥,當(dāng)然更好玩的地方是不同的地方朵逝。如果有時(shí)間,再看看 elm 乡范,作為被抄對(duì)象配名,值得一看啤咽。
學(xué)一個(gè)東西最擔(dān)心過(guò)時(shí),猶豫到底是學(xué)哪個(gè)好(知乎月經(jīng)問(wèn)題)渠脉。但是要是知道了框架本身到底在解決什么問(wèn)題宇整,又引入了什么問(wèn)題,對(duì)以后新出的新框架新概念芋膘,都可以更快地理解和上手鳞青,不用覺得每次都要重新學(xué)一遍。
共勉为朋。