從我畢業到如今也差很少快一年半了,想要找個地方沉澱下本身,同時也但願大佬們,指出我錯誤的思考。 我直接把我本身寫的 ppt 的東西複製過來了javascript
1.聲明式設計 −採用聲明範式,能夠輕鬆描述應用。
2.高效 −經過對DOM的模擬,最大限度地減小與DOM的交互。
3.靈活 −能夠與已知的庫或框架很好地配合。
4.組件 − 經過 React 構建組件,使得代碼更加容易獲得複用,可以很好的應用在大項目的開發中。
5.單向響應的數據流 − React 實現了單向響應的數據流,反作用少,易於追蹤問題和維護
複製代碼
// es5 環境下
var Contacts = React.createClass({
render() {
return (
<div>1</div>
)
}
})
複製代碼
// es6 方式須要編譯
class Contacts extends React.Component {
constructor(props) {
super(props);
}
render () {
return <div>1</div>
}
}
複製代碼
// 適合純渲染組件
const Contacts = (props) => <div>1</div>
複製代碼
貼張官方圖html
componentWillUnmount: 當咱們的組件被卸載或者銷燬了就會調用,咱們能夠在這個函數裏去清除一些定時器,取消網絡請求, 在 spa 中比較常見vue
父子: 經過 props
子父: 回調函數,經過更新 父親的 state 來更新
子子: 1. emit 的方式 發佈訂閱 2. 經過父親組件來中轉
跨層級組件:context context是一個全局變量,像是一個大容器,在任何地方均可以訪問到。
可是 當中間某個組件 shouldComponentUpdate 設置爲 false 的時候就 gg 了。
緣由是 shouldComponentUpdate 會切斷子樹的 rerender,當 state 或 props
沒有發生變化時,可能意外中斷上層 context 傳播。也就是當 shouldComponentUpdate
返回 false 時,context 的變化是沒法被底層所感知的。
三方狀態庫: redux、rematch (二次封裝redux)、mobx、smobx,
這些東西藉助一句話,"若是你不知道是否須要 Redux,那就是不須要它。"
複製代碼
參考阮一峯大大java
參考我這篇文章react
2019 年基本計劃是 寫一個不錯的我的項目, 同時有機會去了解下底層實現,也去學習 vue 對比下。 欺騙一下本身: 新的一年,新的本身jquery