最近在學習鬍子大哈的react小書,內容講的由淺入深,很值得react,react-redux小白一讀。html
廢話很少說直接上地址:http://huziketang.mangojuice.top/books/react/react
react小書看過兩遍,並且都認真跟着操做了,裏面的react-redux仍是理解的不透徹,因而又去react-redux的官網學習,下載了示例:Todo列表,看了一下代碼結構跟鬍子大哈react小書裏講的不同,我仍是比較喜歡react小書裏的代碼結構:git
全部的 Dumb 組件都放在 components/
目錄下,github
全部的 Smart 的組件都放在 containers/
目錄下redux
示例:Todo列表的官網地址:http://cn.redux.js.org/docs/basics/ExampleTodoList.html學習
因而我按照react小書裏的這種約定俗成的規則,把todolist裏的components和containers調整了一下。ui
首先把界面進行組件劃分,劃分爲如下組件:spa
最外面的爲Appcode
代碼結結構改造先後component
官網的代碼Dumb 組件和Smart 組件分的沒有很清晰,改造之後components裏面的組件就是純組件,只從props裏接收參數,邏輯處理的部分都放在containers裏面的smart組件裏。
components 裏AddTodo的邏輯處理在containers裏的AddTodo
components 裏Link的邏輯處理在containers裏的FilterLink
components 裏TodoList的邏輯處理在containers裏的TodoList
components 裏Todo是包含在components 的TodoList裏的
而containers裏的Footer又包含了FilterLink
containers裏的App就是咱們最外面index.js裏最終要的App,它包含了containers裏面的Footer,AddTodo,TodoList
歡迎下載,代碼地址以下:
https://github.com/greenteaone/todolist-example