1
In react context doc,當一個孩子在未分配contextType的情況下訪問時,上下文是空的。看來父母和孩子有必要爲使用上下文分配propType。爲什麼在使用上下文時必須指定上下文類型?
道具也有propTypes,但它們不是必需的,那麼上下文爲什麼必要?它只是爲更安全地使用上下文而設計的嗎?
In react context doc,當一個孩子在未分配contextType的情況下訪問時,上下文是空的。看來父母和孩子有必要爲使用上下文分配propType。爲什麼在使用上下文時必須指定上下文類型?
道具也有propTypes,但它們不是必需的,那麼上下文爲什麼必要?它只是爲更安全地使用上下文而設計的嗎?
是的。您的問題的答案已經在您提到的頁面上。
如果您希望您的應用程序穩定,請不要使用上下文。這是一個 實驗性API,它很可能會在未來版本的 React中被破解。
React不希望你使用上下文,除非你知道你在做什麼。這就是當我們需要使用上下文時需要明確定義contextTypes
的原因。
相比之下,propTypes
是隻需鍵入檢查工具自帶起反應,因此要確保開發人員正確地通過了所有必需的道具。如果你沒有正確傳遞道具,它只會顯示一些警告。此外,propTypes
類型檢查只能在開發人員模式工作,並得到去除生產的基礎之上。從React v15.5 propTypes
已棄用,且已移至separate package。