react-redux的作用是連線(connect)store和容器元件的。store是redux提供的,容器元件是react提供的。
容器元件:位於應用最頂層的元件,用來與redux連線的。從redux中獲取資料作為props。展示元件:位於應用的中間或者子元件,是純粹的元件,與redux沒有關係。他們從自己的父元件獲取資料作為props,他們的共同根元件是應用的唯一的容器元件。展示元件可以維持少量的自身狀態資訊。
react-redux僅僅提供兩個關鍵模組:provider和connect。
原始碼:
import provider from
'./components/provider'
import connect from
'./components/connect'
export
例子:
reactdom.render(
store=>
routerstate= />
provider>,
document.getelementbyid('root')
);
例子:
import * as actioncreators from './actioncreators'
function
mapstatetoprops
(state)
}export default connect(mapstatetoprops, actioncreators)(myrootcomponent)
參考: React 之容器元件和展示元件相分離解密
redux 的 react 繫結庫包含了 容器元件和展示元件相分離 的開發思想。明智的做法是只在最頂層元件 如路由操作 裡使用 redux。其餘內部元件僅僅是展示性的,所有資料都通過 props 傳入。那麼為什麼需要容器元件和展示元件相分離呢?這裡有個基本原則 容器元件僅僅做資料提取,然後渲染對應的...
UI元件 和 容器元件
像原來的 import react,from react import antd dist antd.css import from antd import store from store index.js import from store actioncreators class beauti...
UI元件和容器元件的拆分
1.首先,以前面的todolist為例 以下是原來的todolist中的render函式中的內容,我們可以將元件中關於ui渲染頁面的封裝到乙個檔案中 render 2.在src目錄下新建乙個檔名為todolistui.js。將剛剛的render中的內容複製到todolistui裡面。3 這裡需要進一...