問題描述
在前端的頁面中遇到這樣的一個問題,我想通過state
的狀態切換來隱藏頁面的某個元素
<div className={this.state.showDiv? " " :"hidden"}>
......
</div>
矛盾點
之前寫react 代碼的時候用hidden
隱藏頁面元素絕對沒有問題,今天這樣寫為什么會失效?
問題解決
Q1:是因為我this.state.showDiv
一直為真,所以才不能隱藏嗎?
A1:我將代碼改成className="hidden"
,竟然還是不能隱藏,所以不是state
的問題,那么原因是什么?找到以前的demo,沒錯,用法就是這樣的
Q2: 回想之前代碼和現在代碼的區別,之前的代碼使用了Bootstrap,而現在用的是ant-design.是因為bootstrap的原因嗎?
A2: 在項目中引入了bootstrap的在線鏈接,果然,真的可以隱藏了,bootstrap 實現這個屬性
Q3:現在沒有使用bootstrap,我該怎么做?
A3:CSS肯定是可以解決的,那么在ant-design 里面是不是也有類似于hidden
這樣的方法,找了一圈,沒有找到,用css解決了這個問題
反思
感覺自己以前學習真的是太淺,之前寫代碼的時候從來沒有問過自己,為什么這樣可以隱藏?知道今天遇到這個問題,才去回想為什么以前是可以的,這個屬性到底是哪個庫的作用。遇到自己不解的問題,不能放過,開始遇到這個問題的時候,就想直接用CSS,把這個問題繞過,但我知道,學習真的不能這樣,越積攢問題會越多。
action
寫代碼的時候多問問自己為什么,不會的問題就寫demo去嘗試,找原因。