總結react中常常被忽略的小知識點 1)即使state里設置成和之前的值一樣,render也會重新渲染 2)父組件傳給子組件的屬性(props是只讀的,在子組件中已在this.state里將屬性賦值給定義的變數),如果屬性在父組件中可以操作改變值的話,那麼在子組件中就不建議修改,如果屬性在父組件不 ...
總結react中常常被忽略的小知識點
1)即使state里設置成和之前的值一樣,render也會重新渲染
2)父組件傳給子組件的屬性(props是只讀的,在子組件中已在this.state里將屬性賦值給定義的變數),如果屬性在父組件中可以操作改變值的話,那麼在子組件中就不建議修改,如果屬性在父組件不操作,那麼在子組件中就可以修改
3)通過bind綁定的函數,收到參數和事件時,事件會在參數後面,示例:
<a onClick={this.handleClick.bind(this, 'click')}>click</a>
this.handleClick(param, event) // 事件對象event要放在最後
4)數組元素中的key應該在數組上下文中被指定,即當你使用一個listItem時,你應該將key放在listItem組件上,而不是listItem組件里的元素上
5)數組元素使用的key在其兄弟之間應該是唯一的,但在全局不需要唯一,比如,兩個不同的數組的元素的key可以相同
6)在構造函數里定義的變數this.test,當改變this.test時,render不會重新渲染,只有狀態機state有更新時,render才會重新渲染
7)構造函數是唯一能夠初始化this.state的地方,在其他方法里使用this.state是錯誤的,一般是通過this.setState()來更新變數
8)jsx會移除空行,開始和結束的空格,字元串常量內部的換行會被壓縮成一個空格