jsx
- 傳播屬性 spread attribute
將單獨定義的屬性對象變量作為組件的props
const myProps = {
a: 1,
b: 2,
}
<myComponent {...myProps} />
- jsx中寫表達式和變量
jsx中的表達式要用{}
括起來外潜。
render() {
const isLoggedIn = this.state.isLoggedIn;
return (
<div>
{isLoggedIn ? (
<LogoutButton onClick={this.handleLogoutClick} />
) : (
<LoginButton onClick={this.handleLoginClick} />
)}
</div>
);
}
renderFullName () {
return `${this.props.firstName} ${this.props.lastName}`;
}
ES6 箭頭函數(shù)
非方法函數(shù)
純函數(shù)
redux到底是啥
react router
每一個路由(Route)中聲明的組件(比如 SignIn)在渲染之前都會被傳入一些 props,具體是在源碼中的 RoutingContext.js 中完成,主要包括:
- history 對象盒发,它提供了很多有用的方法可以在路由系統(tǒng)中使用靠胜,比如剛剛用到的 history.replaceState,用于替換當(dāng)前的 URL,并且會將被替換的 URL 在瀏覽器歷史中刪除中符。函數(shù)的第一個參數(shù)是 state 對象,第二個是路徑誉帅;
- location 對象淀散,它可以簡單的認(rèn)為是 URL 的對象形式表示,這里要提的是 location.state蚜锨,這里 state 的含義與 HTML5 history.pushState API 中的 state 對象一樣档插。每個 URL 都會對應(yīng)一個 state 對象,你可以在對象里存儲數(shù)據(jù)亚再,但這個數(shù)據(jù)卻不會出現(xiàn)在 URL 中郭膛。實際上,數(shù)據(jù)被存在了 sessionStorage 中氛悬;