前端面試題六(主流框架異同篇)
1.react跟vue的區別?
相同點:
- 都有組件化開發和Virtual DOM (提升程序的運行效率)
- 都支持props進行父子組件間數據通訊
- 都支持數據驅動試圖,不直接操做真是DOM,更新狀態數據界面就自動更新
- 都支持服務器端渲染
- 都支持natived 的方案,React的React Native, Vue 的Weex, (都支持原生的跨平臺運用)
不一樣點:
- 數據綁定:vue實現了數據的雙向邦定,react數據流動是單向的
- 組件的寫法不同,React推薦的作法是JSX,也就是把HTML和CSS所有都寫進Javascript了,即 'all in js', Vue推薦的作法是 webpack + vue-loader的單文件組件格式,即 html,css,js 寫在同一個文件
- state對象在React應用中不可變的,須要使用setState方法更新狀態,在vue中 state對象不是必須的,數據由data屬性在vue對象中管理
- virtual DOM不同,vue會跟蹤每個組件的依賴關係,不須要從新渲染整個組件樹,而對於React而言,每當應用的狀態改變時,所有組件都會從新渲染,因此react中會須要shouComponentUpdata 這個生命週期函數方法來進行控制
- React嚴格上只針對MVC的view層,Vue則是MVVM模式
2.Redux 管理狀態的機制
對Redux的基本理解
- redux是一個獨立專門用於作狀態管理的JS庫,不是react插件庫
- 它能夠用在 react,angular,vue等項目中,但基本與react配合使用
- 做用:集中式管理react應用中多個組件共享的狀態和從後臺獲取的數據
Redux的工做原理
1. redux的結構 三個模塊:
- store (內部管理着狀態)
- reducers (根據老的狀態生成新的狀態)
- action creator (專門生成action對象的)
2.store內部管理着state狀態, react組件跟 reducers的通訊就根據store來的,store至關於橋樑,提供了兩個方法,一個讀 getState(),一個更新dispatch()。
Redux 使用擴展
- 使用 react-redux 簡化 redux 的編碼
- 使用 redux-thunk 實現 redux 的異步編程
- 使用 Redux DevTools 實現 chrome 中的調試
歡迎關注本站公眾號,獲取更多信息