Redux解決了什麼問題
忽略此文
Redux是什麼?
Redux是Facebook提出一個數據狀態管理的庫,也可以說框架。它搭配React解決了元件之間通訊問題,這個通訊問題,是元件和其它元件之間也可以跨層通訊,不需要一層一層的把,父元件的資料往下傳遞。這會增加程式碼複雜度和維護的複雜度。
如果使用React.createContext的API也可以實現跨層通訊,你可以單獨寫一個模組去封裝Context.Provider和Context.Consumer,只有在根元件使用Context.Provider後,需要共享Context上的資料的元件,都可以通過引入Context.Consumer元件去獲取公共的資料。哪個元件需要頂層元件的資料,就必須引入Context.Consumer。
//context.js export default Context= createContext('')
//app.js let store = createStore(reducer) <Context.Provier value={store}> <App /> </Context.Provider>
import Context from './context.js' <Context.Consumer> {(data) => (<div>{data.time}</div>)} </Context.Consumer>