滑動輸入條頁面刷新時只會讀取第一次傳入的屬性值,在沒有用傳入id獲取到正確的默認值時,頁面已經被渲染了。this
使用默認選中屬性defaultChecked 缺點: 只會在頁面第一次請求數據的時候按條件渲染spa
最後解決辦法:code
按需求來使用屬性,若是你須要的只是默認爲一個狀況,所有false或者true,這個時候用defaultChecked便可blog
若是界面帶有數據,有默認的值須要渲染的話,建議使用checkedget
狀態部分:it
constructor(props) { super(props) this.state = { curIstop: false, switchIsChange: "" } }
方法部分:class
handleIsTop = (e, type) => { this.setState({ curIstop: e, switchIsChange: true }) }
render部分:渲染
<Switch
onChange={(e) => this.handleIsTop(e)} checked={this.state.switchIsChange ? this.state.curIstop : !!getNotice.istop}/>